@vbabka @hyeyoo @ljs this reminds me of a "what is pid 0" blogpost by @danderson i read a while ago: https://blog.dave.tf/post/linux-pid0/
"It was called that because, now that we’re back at the beginning of Unix, one routine encompasses not only scheduling and idling, but also moving entire process memory images between the small core memory and secondary storage. Hard drives in this case[...]"
@hyeyoo @vbabka wondering how much from this comes from unix and bsd. unix originally had a pid 0 swapper process that swapped whole processes -- their userspace memory and half of their kernel structure -- onto the swap devices. bsd retained this while they also added a separate capability to move individual pages to swap device. they also still retained the split of kernel process bookkeeping data into two structures -- the swappable and the nonswappable part.