Messages in this thread | | | From | Linus Torvalds <> | Date | Thu, 15 Dec 2022 09:26:19 -0800 | Subject | Re: [GIT PULL] x86/mm for 6.2 |
| |
On Thu, Dec 15, 2022 at 9:17 AM Linus Torvalds <torvalds@linux-foundation.org> wrote: > > Here's *one* suggested solution:
Note again: this is not a "you need to do it this way" suggestion. This is just a "at least this way doesn't have the issues I object to". There are bound to be other ways to do it.
But if you feel like all threads have to share the same LAM state, it does seem a lot simpler if you just say "you need to set that state before you start any threads". No?
> And yes, I would actually suggest that _any_ thread creation locks it, > so that you never *EVER* have any issues with "oh, now I need to > synchronize with other threads". A process can set its LAM state at > startup, not in the middle of running!
Note that this "no serialization needed" is just about the SW side.
The *hardware* side may still need the IPI just to make sure that it forces a TLB flush - even if we are single-threaded, that single thread may have run on other CPU's before.
But I think at that point it's just a regular TLB flush, and doesn't need that LAM-specific IPI.
But maybe there's some bigger HW serialization that is needed for the LAM bit, I have not looked at that enough to know.
Linus
| |