On Mon, 10 Sep 2007, Peter Zijlstra wrote: > On Mon, 2007-09-10 at 12:25 -0700, Christoph Lameter wrote: > > > Of course boundless allocations from interrupt / reclaim context will > > ultimately crash the system. To fix that you need to stop the networking > > layer from performing these. > > 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.
You need to drop packets after having inspected them right? Why wont dropping packets after a certain amount of memory has been allocated work? What is so difficult about that? > or > > - have a global reserve and selectively serves sockets > (what I've been doing) That is a scalability problem on large systems! Global means global serialization, cacheline bouncing and possibly livelocks. If we get into this global shortage then all cpus may end up taking the same locks cycling thought the same allocation paths. > 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. Well it looks like you know how to do it. Why not implement it? - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/