Messages in this thread | | | Date | Thu, 15 Dec 2022 13:53:07 -0800 | Subject | Re: [GIT PULL] x86/mm for 6.2 | From | Dave Hansen <> |
| |
On 12/15/22 09:26, Linus Torvalds wrote: > 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?
That would be a lot simpler. I have one bit of hesitation there, though.
Back in the MPX days, we had some users pop up and tell us that MPX wasn't working for them on certain threads. Those threads ended up having been clone()'d even _before_ MPX got enabled which was via some pre-main() startup code that the compiler inserted. Since these early threads' FPU state was copied before MPX setup was done, they never got MPX-enabled.
Right or wrong, since then I've basically assumed that someone might be creating threads behind my back.
Maybe we call those "early thread" folks too crazy to get LAM. Maybe I need to forget it ever happened, but they were actual users that got bitten and cared enough to report it. Or, heck, maybe I'm just delusional because I can't find any trace of this conversation in the list archives.
LAM _is_ slightly different than what MPX hit, though, since instead of totally silent breakage the app can whine about the LAM prctl() having failed.
Anyway, message heard loud and clear about the untagged_addr() races and the interfaces. We'll find some way to fix those up for the next merge window.
| |