Date: Wed, 01 Jun 2022 02:43:46 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 264383] SMP: Miss access to a global variable in `smp_rendezvous_action` function. Message-ID: <bug-264383-227@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D264383 Bug ID: 264383 Summary: SMP: Miss access to a global variable in `smp_rendezvous_action` function. Product: Base System Version: CURRENT Hardware: Any OS: Any Status: New Severity: Affects Only Me Priority: --- Component: kern Assignee: bugs@FreeBSD.org Reporter: naito.yuichiro@gmail.com Created attachment 234367 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D234367&action= =3Dedit smp_rendezvous_action.patch I'm studying `smp_rendezvous` code now. It's a cool feature in the kernel and surprising how long history it has. It seems that arguments of `smp_rendezvous_action` is loaded in local varia= bles as soon as `smp_rendezvous_action` takes a barrier. And the code design seems to use local variables in the barrier. But I think only two lines violate to the design policy and should be fixed as attached `smp_rendezvous_action.patch`. I believe there is no issues about this. `smp_rendezvous` works fine for a long time. I think local variable access is a little bit faster than global variable access. Because the global variables are defined as `volatile`. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-264383-227>