From: Jason Wang <jasowang@redhat.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: netdev@vger.kernel.org, xma@us.ibm.com, davem@davemloft.net,
linux-kernel@vger.kernel.org, ebiederm@xmission.com
Subject: Re: [PATCH 6/6] vhost_net: don't poll on -EFAULT
Date: Tue, 17 Apr 2012 14:30:27 +0800 [thread overview]
Message-ID: <4F8D0E03.7030105@redhat.com> (raw)
In-Reply-To: <20120417060752.GB20674@redhat.com>
On 04/17/2012 02:07 PM, Michael S. Tsirkin wrote:
> On Tue, Apr 17, 2012 at 01:54:55PM +0800, Jason Wang wrote:
>> On 04/17/2012 12:57 PM, Michael S. Tsirkin wrote:
>>> On Tue, Apr 17, 2012 at 11:27:01AM +0800, Jason Wang wrote:
>>>> On 04/16/2012 09:39 PM, Michael S. Tsirkin wrote:
>>>>> On Mon, Apr 16, 2012 at 04:28:10PM +0800, Jason Wang wrote:
>>>>>>> On 04/16/2012 03:16 PM, Michael S. Tsirkin wrote:
>>>>>>>> >On Mon, Apr 16, 2012 at 02:08:33PM +0800, Jason Wang wrote:
>>>>>>>>> >>Currently, we restart tx polling unconditionally when sendmsg()
>>>>>>>>> >>fails. This would cause unnecessary wakeups of vhost wokers as it's
>>>>>>>>> >>only needed when the socket send buffer were exceeded.
>>>>>>>> >Why is this a problem?
>>>>>>> > This issue is when guest driver is able to hit the
>>>>>> -EFAULT, vhost
>>>>>>> discard the the descriptor and restart the polling. This would wake
>>>>>>> vhost thread and repeat the loop again which waste cpu.
>>>>> Does same thing happen if we get an error from copy from user?
>>>>>
>>>> Right, so do you think it makes sense that we only restart polling
>>>> on -EAGAIN or -ENOBUFS?
>>> Sounds OK. BTW how do you test this?
>>>
>> Not very hard, w/o this patch, we can see almost 100% cpu
>> utilization for vhost thread if guest hit EFAULT or EINVAL. With
>> this patch, the cpu utilization should be very low I think.
> Yes but do you have a test that makes guest hit EFAULT or EINVAL?
Looks like we can do this by supplying an invalid hdr_len in vnet header
as tap does the check for this.
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2012-04-17 6:30 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-16 6:07 [PATCH 1/6] macvtap: zerocopy: fix offset calculation when building skb Jason Wang
2012-04-16 6:07 ` [PATCH 2/6] macvtap: zerocopy: fix truesize underestimation Jason Wang
2012-04-16 7:14 ` Michael S. Tsirkin
2012-04-16 8:23 ` Jason Wang
2012-04-16 8:49 ` Eric Dumazet
2012-04-16 13:25 ` Michael S. Tsirkin
2012-04-16 6:08 ` [PATCH 3/6] macvtap: zerocopy: validate vector length before pinning user pages Jason Wang
2012-04-16 6:53 ` Eric Dumazet
2012-04-16 8:21 ` Jason Wang
2012-04-17 5:33 ` Eric Dumazet
2012-04-17 5:43 ` Michael S. Tsirkin
2012-04-17 6:19 ` Michael S. Tsirkin
2012-04-16 7:58 ` Michael S. Tsirkin
2012-04-16 6:08 ` [PATCH 4/6] macvtap: zerocopy: set SKBTX_DEV_ZEROCOPY only when skb is built successfully Jason Wang
2012-04-16 6:08 ` [PATCH 5/6] vhost_net: fix use after free of vq->ubufs Jason Wang
2012-04-16 13:28 ` Michael S. Tsirkin
2012-04-17 3:19 ` Jason Wang
2012-04-17 10:22 ` Michael S. Tsirkin
2012-04-17 10:47 ` Jason Wang
2012-04-16 6:08 ` [PATCH 6/6] vhost_net: don't poll on -EFAULT Jason Wang
2012-04-16 7:16 ` Michael S. Tsirkin
2012-04-16 8:28 ` Jason Wang
2012-04-16 13:39 ` Michael S. Tsirkin
2012-04-17 3:27 ` Jason Wang
2012-04-17 4:57 ` Michael S. Tsirkin
2012-04-17 5:54 ` Jason Wang
2012-04-17 6:07 ` Michael S. Tsirkin
2012-04-17 6:30 ` Jason Wang [this message]
2012-04-17 10:18 ` Michael S. Tsirkin
2012-04-17 10:46 ` Jason Wang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4F8D0E03.7030105@redhat.com \
--to=jasowang@redhat.com \
--cc=davem@davemloft.net \
--cc=ebiederm@xmission.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mst@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=xma@us.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.