[ovs-dev] [PATCH] openvswitch: Orphan frags before sending to userspace via Netlink to avoid guest stall
Zoltan Kiss
zoltan.kiss at citrix.com
Fri Mar 7 12:29:34 UTC 2014
On 07/03/14 04:46, Pravin Shelar wrote:
> On Thu, Mar 6, 2014 at 9:09 AM, Zoltan Kiss <zoltan.kiss at citrix.com> 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 at citrix.com>
>
> 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?
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.
Zoli
More information about the dev
mailing list