Ulrich Weigand wrote:
Avi Kivity wrote:
In our case, all block I/O is done using unbuffered I/O, and all memory is preallocated, so we don't need kswapd at all, just that small bit of memory that syscalls consume.
Does your userspace process need to send/receive network packets
in order to perform a write-out?
Yes.
If so, how can you make sure yourI did nothing to address this. So far it works well, even under heavy load. I guess a general solution needs to address this as well.
incoming packets aren't thrown away in out-of-memory situations?
(Outgoing packets can use PF_MEMALLOC memory I guess, but incoming
ones aren't associated to any process yet ...)
The kernel NFS client (which kswapd depends on) has the same issue. Has anyone ever observed kswapd deadlock due to imcoming or outgoing NFS packets being discarded due to oom?