Notes:


Ignore micro-causes such as PCI bus congestion, interrupt sharing, interrupt overhead, cache effects, etc.
Caused by long-executing code paths in the kernel. VFS, VM, MM, filesystems.
sys_read(): reading a large number of pages cache->user
sys_write(): copying a large number of pages to the kernel
sys_rmdir(): deleting a large directory (pruning dcache entries)
sys_fork(): copying a large shared memory segment
kswapd: scanning a large vma for pages to swap out
Misc things:
Reading /dev/mem
Reading /proc/meminfo (si_swap_info calculating free swap)