Messages in this thread | | | Date | Mon, 19 Jul 1999 23:55:22 +0200 | From | Pavel Machek <> | Subject | Re: Loopback with holes |
| |
Hi!
> > PS: Of course swapping over nbd does not work. When someone eats all > > atomic memory (which almost never happens) you don't have enough memory > > to receive ack for packet you send, and you deadlock. It is reproducible > > with mem=8M and heavy pingflood, but artifical all-atomicram-eater works > > much better. > > Yes. There _are_ pretty simple ways to fix this, btw, but adding a > separate clean-page-reaper thread to kswapd is probably too dangerous > for 2.2.
I don't believe this.
1) our network layer allocates memory for incoming packets.
2) nbd will not work without network stack running.
3) all atomic memory can disappear instantly (improbable but happens)
Therefore:
All memory disappears (3). System decides it wants to swap out. But there's not enough memory to receive ACK. It even is not enough memory to respond to ARP requests (1). Therefore our machine looses networking which means nbd will stop working.
We are "deadlocked". If someone gave us few pages of memory, we could reply to ARPs, get acks and see that swapouts were successfull. But nobody is going to give us pages of memory.
Do you see why swapping over nbd (or over nfs) is extremely nasty, now?
Pavel -- I'm really pavel@ucw.cz. Look at http://195.113.31.123/~pavel. Pavel Hi! I'm a .signature virus! Copy me into your ~/.signature, please!
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |