[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <49FEBC4E.5040805@redhat.com>
Date: Mon, 04 May 2009 12:58:38 +0300
From: Avi Kivity <avi@...hat.com>
To: Andi Kleen <andi@...stfloor.org>
CC: Elad Lahav <elahav@...terloo.ca>, linux-kernel@...r.kernel.org,
netdev@...r.kernel.org
Subject: Re: [PATCH] Implementation of the sendgroup() system call
Andi Kleen wrote:
>>> My guess it's more the copies than the calls? It sounds like
>>> you want sendfile() for UDP. I think that would be a cleaner solution
>>> than such a specific hack for your application. It would
>>> have the advantage of saving the first copy too and be
>>> truly zero copy on capable NICs.
>>>
>>>
>> An aio udp send could accomplish both multiple packets per call, and
>>
>
> AIO sockets are a lot of work. There have been various attempts
> over the years, but they are very difficult. This was mostly
> for TCP -- possibly UDP would be a bit easier -- but still
> many complications. It would also need a lot of changes and
> you would need to convince the network maintainers that they
> are a good idea.
>
I would love them for kvm. As far as I understand, the only
complication is proper socket destructors so we can put_page() the memory.
Right now sendfile() is only usable for read-only files. It's not
usable for files that change, or non-file memory.
>
>>> Or perhaps simple send to a local multicast group and let
>>> some netfilter module turn that into regular UDP.
>>>
>>>
>> Sounds hacky and rooty.
>>
>
> rooty? Everyone can send to all directions anyways.
>
> It wouldn't be perfect, but quite usable as a short term solution
> for a production server.
>
I meant, you need root to insert that netfiler module. It's workable as
a one off but it's not something reusable.
--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists