On Thu, Jun 07, 2007 at 12:51:59PM +0200, Jens Axboe ([EMAIL PROTECTED]) wrote:
> > What bout checking if page belongs to kmalloc cache (or any other cache
> > via priviate pointers) and do not perform any kind of reference counting
> > on them? I will play with this a bit later today.
> 
> That might work, but sounds a little dirty... But there's probably no
> way around. Be sure to look at the #splice-net branch if you are playing
> with this, I've updated it a number of times and fixed some bugs in
> there. Notably it now gets the offset right, and handles fragments and
> fraglist as well.

I've pulled splice-net, which indeed fixed some issues, but referencing
slab pages is still is not allowed. There are at least two problems
(although they are related):
1. if we do not increment reference counter for slab pages, they
eventually get refilled and slab exploses after it understood that its
pages are in use (or user dies when page is moved out of his control in
slab).
2. get/put page does not work with slab pages, and simple
increment/decrement of the reference counters is not allowed too.

Both problems have the same root - slab does not allow anyone to 
manipulate page's members. That should be broken/changed to allow splice
to put its hands into network using the fastest way.
I will think about it.

> -- 
> Jens Axboe

-- 
        Evgeniy Polyakov
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to