This is a new version of task isolation implementation. Previous version is at https://lore.kernel.org/lkml/07c25c246c55012981ec0296eee23e68c719333a.camel@xxxxxxxxxxx/ Mostly this covers race conditions prevention on breaking isolation. Early after kernel entry, task_isolation_enter() is called to update flags visible to other CPU cores and to perform synchronization if necessary. Before this call only "safe" operations happen, as long as CONFIG_TRACE_IRQFLAGS is not enabled. This is also intended for future TLB handling -- the idea is to also isolate those CPU cores from TLB flushes while they are running isolated task in userspace, and do one flush on exiting, before any code is called that may touch anything updated. The functionality and interface is unchanged, except for /sys/devices/system/cpu/isolation_running containing the list of CPUs running isolated tasks. This should be useful for userspace helper libraries.