Skip site navigation (1)Skip section navigation (2)
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>