Thread (30 messages) 30 messages, 10 authors, 2006-08-24

Re: [RFC][PATCH 0/4] VM deadlock prevention -v4

From: Indan Zupancic <hidden>
Date: 2006-08-12 20:06:06
Also in: linux-mm, lkml

On Sat, August 12, 2006 20:54, Peter Zijlstra said:
 - single allocation group per packet - that is, when I free a packet
and all its associated object I get my memory back.
This is easy.
 - not waste too much space managing the various objects
This too, when ignoring clones and COW.
skb operations want to allocate various sk_buffs for the same data
clones. Also, it wants to be able to break the COW or realloc the data.
So this seems to be what adds all the complexity.
So I tried manual packing (parts of that you have seen in previous
attempts). This gets hard when you want to do unlimited clones and COW
breaks. To do either you need to go link several pages.
It gets messy quite quickly, yes.
So needing a list of pages and wanting packing gave me SROG. The biggest
wart is having to deal with higher order pages. Explicitly coding in
knowledge of the object you're packing just makes the code bigger - such
is the power of abstraction.
I assume you meant "Not explicitly coding in", or else I'm tempted to disagree.
Abstraction that has only one user which uses it in one way only adds bloat.
But looking at the code a bit more I'm afraid you're right.

Greetings,

Indan

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help