Thread (32 messages) 32 messages, 5 authors, 2007-01-21

Re: [PATCH 0/9] VM deadlock avoidance -v10

From: Peter Zijlstra <hidden>
Date: 2007-01-17 09:23:27
Also in: linux-mm, lkml

On Wed, 2007-01-17 at 10:12 +0100, Pavel Machek wrote:
Hi!
quoted
These patches implement the basic infrastructure to allow swap over networked
storage.

The basic idea is to reserve some memory up front to use when regular memory
runs out.

To bound network behaviour we accept only a limited number of concurrent 
packets and drop those packets that are not aimed at the connection(s) servicing
the VM. Also all network paths that interact with userspace are to be avoided - 
e.g. taps and NF_QUEUE.

PF_MEMALLOC is set when processing emergency skbs. This makes sense in that we
are indeed working on behalf of the swapper/VM. This allows us to use the 
regular memory allocators for processing but requires that said processing have
bounded memory usage and has that accounted in the reserve.
How does it work with ARP, for example? You still need to reply to ARP
if you want to keep your ethernet connections.
ETH_P_ARP is fully processed (under PF_MEMALLOC).

ETH_P_IP{,V6} starts to drop packets not for selected sockets
(SOCK_VMIO) and processes the rest (under PF_MEMALLOC) with limitations;
the packet may never depend on user-space to complete processing.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help