On Mon, 2007-09-10 at 12:25 -0700, Christoph Lameter wrote:Trouble is, I don't only need a network layer to not endlessly consume memory, I need it to 'fully' function so that we can receive the writeout completion. Let us define a strict meaning for a few phrases: use memory - an alloc / free cycle where the free is unconditional consume memory - an alloc / free cycle where the free is conditional and or might be delayed for some unspecified time. Currently networking has two states: 1) it receives packets and consumes memory 2) it doesn't receive any packets and doesn't use any memory. In order to use swap over network you need to operate the network stack in a bounded memory model (PF_MEMALLOC). So we need a state that: - receives packets - does NOT consume memory - but does use memory - albeit limited. There are two ways to do this: - reserve a specified amount of memory per socket (allegedly IRIX has this) or - have a global reserve and selectively serves sockets (what I've been doing) These two models can be seen as the same. There is no fundamental difference between having various small reserves and one larger that is carved up using strict accounting. So, if you will, you can view my approach as a reserve per socket, where most sockets get a reserve of 0 and a few (those serving the VM) !0. What part are you disagreeing with or unclear on?
| monstr | [PATCH 27/56] microblaze_v2: support for a.out |
| Andrew Morton | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| mdew . | Re: [patch] CFS scheduler, v4 |
| Gabriel C | Re: 2.6.21-mm1 |
git: | |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| Willy Tarreau | Re: [PATCH] tcp: splice as many packets as possible at once |
| Linus Torvalds | Re: [GIT]: Networking |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
