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

Geert Uytterhoeven geert at linux-m68k.org
Tue Jan 25 12:52:23 PST 2022


Hi Atish,

On Tue, Jan 25, 2022 at 9:17 PM Atish Patra <atishp at atishpatra.org> wrote:
> On Tue, Jan 25, 2022 at 12:12 PM Geert Uytterhoeven
> <geert at linux-m68k.org> wrote:
> > On Thu, Jan 20, 2022 at 10:12 AM Atish Patra <atishp at rivosinc.com> 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.
> > >
> > > Reviewed-by: Anup Patel <anup at brainfault.org> (For Linux RISC-V changes)
> > > Acked-by: Anup Patel <anup at brainfault.org> (For KVM RISC-V changes)
> > > Signed-off-by: Atish Patra <atishp at rivosinc.com>
> >
> > Thanks for your patch, which is now commit 26fb751ca37846c9 ("RISC-V:
> > Do not use cpumask data structure for hartid bitmap") in v5.17-rc1.
> >
> > I am having an issue with random userspace SEGVs on Starlight Beta
> > (which needs out-of-tree patches).  It doesn't always manifest
> > itself immediately, so it took a while to bisect, but I suspect the
> > above commit to be the culprit.
>
> I have never seen one before during my testing. How frequently do you see them?
> Does it happen while running anything or just idle user space results
> in SEGVs randomly.

Sometimes they happen during startup (lots of failures from systemd),
sometimes they happen later, during interactive work.
Sometimes while idle, and something runs in the background (e.g. mandb).

> Do you have a trace that I can look into ?

# apt update
[  807.499050] apt[258]: unhandled signal 11 code 0x1 at
0xffffff8300060020 in libapt-pkg.so.6.0.0[3fa49ac000+174000]
[  807.509548] CPU: 0 PID: 258 Comm: apt Not tainted
5.16.0-starlight-11192-g26fb751ca378-dirty #153
[  807.518674] Hardware name: BeagleV Starlight Beta (DT)
[  807.524077] epc : 0000003fa4a47a0a ra : 0000003fa4a479fc sp :
0000003fcb4b39b0
[  807.531383]  gp : 0000002adcef4800 tp : 0000003fa43287b0 t0 :
0000000000000001
[  807.538603]  t1 : 0000000000000009 t2 : 00000000000003ff s0 :
0000000000000000
[  807.545887]  s1 : 0000002adcf3cb60 a0 : 0000000000000003 a1 :
0000000000000000
[  807.553167]  a2 : 0000003fcb4b3a30 a3 : 0000000000000000 a4 :
0000002adcf3cc1c
[  807.560390]  a5 : 0007000300060000 a6 : 0000000000000003 a7 :
1999999999999999
[  807.567654]  s2 : 0000003fcb4b3a28 s3 : 0000000000000002 s4 :
0000003fcb4b3a30
[  807.575039]  s5 : 0000003fa4baa810 s6 : 0000000000000010 s7 :
0000002adcf19a40
[  807.582363]  s8 : 0000003fcb4b4010 s9 : 0000003fa4baa810 s10:
0000003fcb4b3e90
[  807.589606]  s11: 0000003fa4b2a528 t3 : 0000000000000000 t4 :
0000003fa47906a0
[  807.596891]  t5 : 0000000000000005 t6 : ffffffffffffffff
[  807.602302] status: 0000000200004020 badaddr: ffffff8300060020
cause: 000000000000000d

(-dirty due to Starlight DTS and driver updates)

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds



More information about the linux-riscv mailing list