[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 08/15] xen/asm-generic: introduce generic header percpu.h



On Thu, 2023-11-16 at 13:28 +0100, Jan Beulich wrote:
> On 16.11.2023 13:04, Oleksii wrote:
> > On Thu, 2023-11-16 at 08:36 +0100, Jan Beulich wrote:
> > > On 10.11.2023 17:30, Oleksii Kurochko wrote:
> > > > --- /dev/null
> > > > +++ b/xen/include/asm-generic/percpu.h
> > > > @@ -0,0 +1,35 @@
> > > > +/* SPDX-License-Identifier: GPL-2.0-only */
> > > > +#ifndef __ASM_GENERIC_PERCPU_H__
> > > > +#define __ASM_GENERIC_PERCPU_H__
> > > > +
> > > > +#ifndef __ASSEMBLY__
> > > > +
> > > > +#include <xen/types.h>
> > > > +
> > > > +extern char __per_cpu_start[], __per_cpu_data_end[];
> > > 
> > > Can we go one tiny step beyond what Arm presently has and make
> > > the
> > > latter of the two const?
> > I am not sure I think we will have compilation issue with the
> > following
> > code in Arm and x86 because of [-Werror=discarded-qualifiers]:
> > 
> > static void cf_check _free_percpu_area(struct rcu_head *head)
> > {
> >     struct free_info *info = container_of(head, struct free_info,
> > rcu);
> >     unsigned int cpu = info->cpu;
> >     char *p = __per_cpu_start + __per_cpu_offset[cpu];
> > 
> >     free_xenheap_pages(p, PERCPU_ORDER);
> >     __per_cpu_offset[cpu] = INVALID_PERCPU_AREA;
> > }
> 
> There's no use of __per_cpu_data_end here; I specifically didn't ask
> for both
> of the declarations to have const added.
Yes, I misread your comment.

> 
> > I guess cast can help.
> 
> There may not be casts casting away constness, except maybe in very
> delicate
> situations.
> 

~ Oleksii




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.