RE: [PATCH v3 6/6] RISC-V: Do not use cpumask data structure for hartid bitmap

From: David Laight
Date: Tue Jan 25 2022 - 17:29:32 EST


> On 20 Jan 2022, at 09:09, Atish Patra <atishp@xxxxxxxxxxxx> wrote:
> >
> > Currently, SBI APIs accept a hartmask that is generated from struct
> > cpumask. Cpumask data structure can hold upto NR_CPUs value. Thus, it
> > is not the correct data structure for hartids as it can be higher
> > than NR_CPUs for platforms with sparse or discontguous hartids.
> >
> > Remove all association between hartid mask and struct cpumask.
....
> > -static int __sbi_rfence_v01(int fid, const unsigned long *hart_mask,
> > +static int __sbi_rfence_v01(int fid, const struct cpumask *cpu_mask,
> > unsigned long start, unsigned long size,
> > unsigned long arg4, unsigned long arg5)
> > {
> > int result = 0;
> > + unsigned long hart_mask;
> > +
> > + if (!cpu_mask)
> > + cpu_mask = cpu_online_mask;
> > + hart_mask = __sbi_v01_cpumask_to_hartmask(cpu_mask);
> >
> > /* v0.2 function IDs are equivalent to v0.1 extension IDs */
> > switch (fid) {
> > case SBI_EXT_RFENCE_REMOTE_FENCE_I:
> > sbi_ecall(SBI_EXT_0_1_REMOTE_FENCE_I, 0,
> > - (unsigned long)hart_mask, 0, 0, 0, 0, 0);
> > + (unsigned long)&hart_mask, 0, 0, 0, 0, 0);

You don't need the cast.

David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)