in this commit https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/arch/x86/kernel/cpu/intel_cacheinfo.c?id=b2bb85549134c005e997e5a7ed303bda6a1ae738
Mike wrote: > We should not try to save and restore cpus_allowed on current. We can't use > work_on_cpu() here, > since it's in the hotplug cpu path (if anyone else > tries to get the hotplug lock from a workqueue we > could deadlock against > them). Fortunately, we can just use smp_call_function_single() since the > > function can run from an interrupt. but I really can't understand that how the deadlock works. anyone can give some hints? any response is appreiated :)