[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] openvswitch: Orphan frags before sending to userspace via Netlink to avoid guest stall

On Fri, Mar 7, 2014 at 4:29 AM, Zoltan Kiss <zoltan.kiss@xxxxxxxxxx> wrote:
> On 07/03/14 04:46, Pravin Shelar wrote:
>> On Thu, Mar 6, 2014 at 9:09 AM, Zoltan Kiss <zoltan.kiss@xxxxxxxxxx>
>> wrote:
>>> Do you have any feedback on this? I'm also adding KVM list as they might
>>> be
>>> interested in this.
>>> Zoli
>>> On 28/02/14 19:16, Zoltan Kiss wrote:
>>>> The kernel datapath now switched to zerocopy Netlink messages, but that
>>>> also
>>>> means that the pages on frags array are sent straight to userspace. If
>>>> those
>>>> pages came outside the kernel, we have to swap them out with local
>>>> copies.
>>>> Signed-off-by: Zoltan Kiss <zoltan.kiss@xxxxxxxxxx>
>> I do not think this is required, netlink zero copy only maps
>> pre-allocated buffers to user-space.
> How do you mean "pre-allocated"? By who?
by netlink, ref. netlink_alloc_skb().

> As far as I've seen the skb in this function came straight from the device
> (vif in our case), and skb_zerocopy just copy the frags to user_skb, which
> is sent to the userspace. Those frags contain pages from guest, and it's a
> bad idea to pass them to userspace: e.g if userspace dies in the meantime,
> what happens with them? Also, in Xen's case they are actually not mapped to
> userspace, so accessing them can lead to garbage.
AFAIK Netlink does not handle skb-frags for zero-copy case.

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.