On Tue, Feb 23, 2021 at 12:49:52PM +0000, Will Deacon wrote: > On Tue, Feb 23, 2021 at 12:05:32PM +0000, Catalin Marinas wrote: > > On Tue, Feb 23, 2021 at 10:56:46AM +0000, Vincenzo Frascino wrote: > > > On 2/22/21 5:58 PM, Catalin Marinas wrote: > > > > We'll still have an issue with dynamically switching the async/sync mode > > > > at run-time. Luckily kasan doesn't do this now. The problem is that > > > > until the last CPU have been switched from async to sync, we can't > > > > toggle the static label. When switching from sync to async, we need > > > > to do it on the first CPU being switched. > > > > > > I totally agree on this point. In the case of runtime switching we might > > > need > > > the rethink completely the strategy and depends a lot on what we want to > > > allow > > > and what not. For the kernel I imagine we will need to expose something > > > in sysfs > > > that affects all the cores and then maybe stop_machine() to propagate it > > > to all > > > the cores. Do you think having some of the cores running in sync mode and > > > some > > > in async is a viable solution? > > > > stop_machine() is an option indeed. I think it's still possible to run > > some cores in async while others in sync but the static key here would > > only be toggled when no async CPUs are left. > > Just as a general point, but if we expose stop_machine() via sysfs we > probably want to limit that to privileged users so you can't DoS the system > by spamming into the file.
Definitely. Anyway, that's a later kasan feature if they'd find it useful. Currently the mode is set at boot from cmdline. -- Catalin