There are currently two cases where we poll TX vq not in response to a
callback: start xmit and rx napi. We currently do this with callbacks
enabled which can cause extra interrupts from the card. Used not to be
a big issue as we run with interrupts disabled but that is no longer the
case, and
We currently check num_free outside tx q lock
which is unsafe: new packets can arrive meanwhile
and there won't be space in the queue.
Thus a spurious queue wakeup causing overhead
and even packet drops.
Move the check under the lock to fix that.
Signed-off-by: Michael S. Tsirkin
---
virtio_disable_cb is currently a nop for split ring with event index.
This is because it used to be always called from a callback when we know
device won't trigger more events until we update the index. However,
now that we run with interrupts enabled a lot we also poll without a
callback so that
It's unsafe to operate a vq from multiple threads.
Unfortunately this is exactly what we do when invoking
clean tx poll from rx napi.
As a fix move everything that deals with the vq to under tx lock.
Signed-off-by: Michael S. Tsirkin
---
drivers/net/virtio_net.c | 22 +-
1
With the implementation of napi-tx in virtio driver, we clean tx
descriptors from rx napi handler, for the purpose of reducing tx
complete interrupts. But this introduces a race where tx complete
interrupt has been raised, but the handler finds there is no work to do
because we have done the work
On Fri, Feb 05, 2021 at 02:28:33PM -0800, Wei Wang wrote:
> On Thu, Feb 4, 2021 at 12:48 PM Willem de Bruijn
> wrote:
> >
> > On Wed, Feb 3, 2021 at 6:53 PM Wei Wang wrote:
> > >
> > > On Wed, Feb 3, 2021 at 3:10 PM Michael S. Tsirkin wrote:
> > > >
> > > > On Wed, Feb 03, 2021 at 01:24:08PM
On Mon, Apr 24, 2017 at 01:49:30PM -0400, Willem de Bruijn wrote:
> From: Willem de Bruijn
>
> Tx napi mode increases the rate of transmit interrupts. Suppress some
> by masking interrupts while more packets are expected. The interrupts
> will be reenabled before the last packet is sent.
>
>
On Tue, Apr 13, 2021 at 10:42:56AM +0800, Jason Wang wrote:
>
> 在 2021/4/13 上午6:53, Max Gurtovoy 写道:
> >
> > On 4/13/2021 12:23 AM, Michael S. Tsirkin wrote:
> > > On Mon, Apr 12, 2021 at 04:03:02PM +0300, Max Gurtovoy wrote:
> > > > On 4/12/2021 3:04 PM, Michael S. Tsirkin wrote:
> > > > > On
On Tue, Apr 13, 2021 at 10:29:03AM +0800, Jason Wang wrote:
>
> 在 2021/4/13 上午6:31, Michael S. Tsirkin 写道:
> > On Mon, Apr 12, 2021 at 06:03:50PM -0400, Michael S. Tsirkin wrote:
> > > I was working on the spurios interrupt problem and
> > > I noticed something weird.
> > >
> > > static int
On Tue, Apr 13, 2021 at 01:53:02AM +0300, Max Gurtovoy wrote:
>
> On 4/13/2021 12:23 AM, Michael S. Tsirkin wrote:
> > On Mon, Apr 12, 2021 at 04:03:02PM +0300, Max Gurtovoy wrote:
> > > On 4/12/2021 3:04 PM, Michael S. Tsirkin wrote:
> > > > On Mon, Apr 12, 2021 at 02:55:27PM +0300, Max Gurtovoy
On Mon, Apr 12, 2021 at 04:14:58PM -0700, David Miller wrote:
> From: "Michael S. Tsirkin"
> Date: Mon, 12 Apr 2021 18:33:45 -0400
>
> > On Mon, Apr 12, 2021 at 06:08:21PM -0400, Michael S. Tsirkin wrote:
> >> OK I started looking at this again. My idea is simple.
> >> A. disable callbacks
在 2021/4/12 下午5:59, Yongji Xie 写道:
On Mon, Apr 12, 2021 at 5:37 PM Jason Wang wrote:
在 2021/4/12 下午4:02, Yongji Xie 写道:
On Mon, Apr 12, 2021 at 3:16 PM Jason Wang wrote:
在 2021/4/9 下午4:02, Yongji Xie 写道:
+};
+
+struct vduse_dev_config_data {
+ __u32 offset; /* offset from the
在 2021/4/13 上午12:28, Colin King 写道:
From: Colin Ian King
Static analysis is reporting a memory leak on mgtdev, it appears
that the wrong object is being kfree'd. Fix this by kfree'ing
mgtdev rather than mdev.
Addresses-Coverity: ("Resource leak")
Fixes: c8a2d4c73e70 ("vdpa/mlx5: Enable user
在 2021/4/13 上午6:53, Max Gurtovoy 写道:
On 4/13/2021 12:23 AM, Michael S. Tsirkin wrote:
On Mon, Apr 12, 2021 at 04:03:02PM +0300, Max Gurtovoy wrote:
On 4/12/2021 3:04 PM, Michael S. Tsirkin wrote:
On Mon, Apr 12, 2021 at 02:55:27PM +0300, Max Gurtovoy wrote:
On 4/8/2021 6:56 PM, Michael S.
在 2021/4/13 上午6:31, Michael S. Tsirkin 写道:
On Mon, Apr 12, 2021 at 06:03:50PM -0400, Michael S. Tsirkin wrote:
I was working on the spurios interrupt problem and
I noticed something weird.
static int virtnet_poll_tx(struct napi_struct *napi, int budget)
{
struct send_queue *sq =
From: "Michael S. Tsirkin"
Date: Mon, 12 Apr 2021 18:33:45 -0400
> On Mon, Apr 12, 2021 at 06:08:21PM -0400, Michael S. Tsirkin wrote:
>> OK I started looking at this again. My idea is simple.
>> A. disable callbacks before we try to drain skbs
>> B. actually do disable callbacks even with event
On Mon, Apr 12, 2021 at 7:21 AM Stefano Garzarella wrote:
>
> On Mon, Apr 12, 2021 at 02:50:17PM +0100, Stefan Hajnoczi wrote:
> >On Thu, Apr 01, 2021 at 04:36:02AM +, jiang.wang wrote:
> >> Add supports for datagram type for virtio-vsock. Datagram
> >> sockets are connectionless and
On Mon, Apr 12, 2021 at 6:50 AM Stefan Hajnoczi wrote:
>
> On Thu, Apr 01, 2021 at 04:36:02AM +, jiang.wang wrote:
> > Add supports for datagram type for virtio-vsock. Datagram
> > sockets are connectionless and unreliable. To avoid contention
> > with stream and other sockets, add two more
On Mon, Apr 12, 2021 at 06:08:21PM -0400, Michael S. Tsirkin wrote:
> OK I started looking at this again. My idea is simple.
> A. disable callbacks before we try to drain skbs
> B. actually do disable callbacks even with event idx
>
> To make B not regress, we need to
> C. detect the common case
On Mon, Apr 12, 2021 at 06:03:50PM -0400, Michael S. Tsirkin wrote:
> I was working on the spurios interrupt problem and
> I noticed something weird.
>
> static int virtnet_poll_tx(struct napi_struct *napi, int budget)
> {
> struct send_queue *sq = container_of(napi, struct
OK I started looking at this again. My idea is simple.
A. disable callbacks before we try to drain skbs
B. actually do disable callbacks even with event idx
To make B not regress, we need to
C. detect the common case of disable after event triggering and skip the write
then.
I added a new
I was working on the spurios interrupt problem and
I noticed something weird.
static int virtnet_poll_tx(struct napi_struct *napi, int budget)
{
struct send_queue *sq = container_of(napi, struct send_queue, napi);
struct virtnet_info *vi = sq->vq->vdev->priv;
On Mon, Apr 12, 2021 at 03:17:02PM +0300, Max Gurtovoy wrote:
>
> On 4/12/2021 12:07 PM, Michael S. Tsirkin wrote:
> > On Sun, Apr 11, 2021 at 12:50:22PM +0300, Max Gurtovoy wrote:
> > > On 4/9/2021 8:22 AM, Jason Wang wrote:
> > > > 在 2021/4/8 下午10:24, Max Gurtovoy 写道:
> > > > > On 4/8/2021 4:14
On Mon, Apr 12, 2021 at 04:03:02PM +0300, Max Gurtovoy wrote:
>
> On 4/12/2021 3:04 PM, Michael S. Tsirkin wrote:
> > On Mon, Apr 12, 2021 at 02:55:27PM +0300, Max Gurtovoy wrote:
> > > On 4/8/2021 6:56 PM, Michael S. Tsirkin wrote:
> > > > On Thu, Apr 08, 2021 at 12:56:52PM +0300, Max Gurtovoy
On Mon, Apr 12, 2021 at 7:04 AM Stefano Garzarella wrote:
>
> Hi Jiang,
> thanks for re-starting the multi-transport support for dgram!
No problem.
> On Wed, Apr 07, 2021 at 11:25:36AM -0700, Jiang Wang . wrote:
> >On Wed, Apr 7, 2021 at 2:51 AM Jorgen Hansen wrote:
> >>
> >>
> >> > On 6 Apr
From: Colin Ian King
Static analysis is reporting a memory leak on mgtdev, it appears
that the wrong object is being kfree'd. Fix this by kfree'ing
mgtdev rather than mdev.
Addresses-Coverity: ("Resource leak")
Fixes: c8a2d4c73e70 ("vdpa/mlx5: Enable user to add/delete vdpa device")
On Mon, Apr 12, 2021 at 02:50:17PM +0100, Stefan Hajnoczi wrote:
On Thu, Apr 01, 2021 at 04:36:02AM +, jiang.wang wrote:
Add supports for datagram type for virtio-vsock. Datagram
sockets are connectionless and unreliable. To avoid contention
with stream and other sockets, add two more
Hi Jiang,
thanks for re-starting the multi-transport support for dgram!
On Wed, Apr 07, 2021 at 11:25:36AM -0700, Jiang Wang . wrote:
On Wed, Apr 7, 2021 at 2:51 AM Jorgen Hansen wrote:
> On 6 Apr 2021, at 20:31, Jiang Wang wrote:
>
> From: "jiang.wang"
>
> Currently, only VMCI supports
On Thu, Apr 01, 2021 at 04:36:02AM +, jiang.wang wrote:
> Add supports for datagram type for virtio-vsock. Datagram
> sockets are connectionless and unreliable. To avoid contention
> with stream and other sockets, add two more virtqueues and
> a new feature bit to identify if those two new
On Sun, Apr 11, 2021 at 11:36:46AM +0300, Eli Cohen wrote:
Set err = -ENOMEM if dma_map_sg_attrs() fails so the function reutrns
error.
Fixes: 94abbccdf291 ("vdpa/mlx5: Add shared memory registration code")
Signed-off-by: Eli Cohen
Reported-by: kernel test robot
Reported-by: Dan Carpenter
On Mon, Apr 12, 2021 at 02:55:27PM +0300, Max Gurtovoy wrote:
>
> On 4/8/2021 6:56 PM, Michael S. Tsirkin wrote:
> > On Thu, Apr 08, 2021 at 12:56:52PM +0300, Max Gurtovoy wrote:
> > > On 4/8/2021 11:58 AM, Jason Wang wrote:
> > > > 在 2021/4/8 下午4:11, Max Gurtovoy 写道:
> > > > > The reset device
On Mon, Apr 12, 2021 at 10:42:17AM +0100, Christoph Hellwig wrote:
> A note to the virtio committee: eMMC is the worst of all the currently
> active storage standards by a large margin. It defines very strange
> ad-hoc interfaces that expose very specific internals and often provides
> very poor
On Mon, Apr 12, 2021 at 05:11:40AM -0400, Michael S. Tsirkin wrote:
> On Mon, Apr 12, 2021 at 10:39:29AM +0200, Greg Kroah-Hartman wrote:
> > From: Eric Dumazet
> >
> > commit 0f6925b3e8da0dbbb52447ca8a8b42b371aac7db upstream.
> >
> > Xuan Zhuo reported that commit 3226b158e67c ("net: avoid 32
在 2021/4/11 下午4:36, Eli Cohen 写道:
Set err = -ENOMEM if dma_map_sg_attrs() fails so the function reutrns
error.
Fixes: 94abbccdf291 ("vdpa/mlx5: Add shared memory registration code")
Signed-off-by: Eli Cohen
Reported-by: kernel test robot
Reported-by: Dan Carpenter
---
A note to the virtio committee: eMMC is the worst of all the currently
active storage standards by a large margin. It defines very strange
ad-hoc interfaces that expose very specific internals and often provides
very poor abstractions. It would be great it you could reach out to the
wider
在 2021/4/12 下午4:02, Yongji Xie 写道:
On Mon, Apr 12, 2021 at 3:16 PM Jason Wang wrote:
在 2021/4/9 下午4:02, Yongji Xie 写道:
+};
+
+struct vduse_dev_config_data {
+ __u32 offset; /* offset from the beginning of config space */
+ __u32 len; /* the length to read/write */
+ __u8
在 2021/4/12 下午5:09, Michael S. Tsirkin 写道:
On Mon, Apr 12, 2021 at 02:35:07PM +0800, Jason Wang wrote:
在 2021/4/10 上午12:04, Michael S. Tsirkin 写道:
On Fri, Apr 09, 2021 at 12:47:55PM +0800, Jason Wang wrote:
在 2021/4/8 下午11:59, Michael S. Tsirkin 写道:
On Thu, Apr 08, 2021 at 04:26:48PM +0800,
On Tue, Mar 30, 2021 at 11:16:02PM +, Enrico Granata wrote:
> The VirtIO TC has adopted a new feature in virtio-blk enabling
> discovery of lifetime information.
>
> This commit adds support for the VIRTIO_BLK_T_LIFETIME command
> to the virtio_blk driver, and adds two new attributes to the
>
On Mon, Apr 12, 2021 at 10:40:20AM +0200, Greg Kroah-Hartman wrote:
> From: Eric Dumazet
>
> [ Upstream commit 0f6925b3e8da0dbbb52447ca8a8b42b371aac7db ]
>
> Xuan Zhuo reported that commit 3226b158e67c ("net: avoid 32 x truesize
> under-estimation for tiny skbs") brought a ~10% performance
On Mon, Apr 12, 2021 at 10:40:34AM +0200, Greg Kroah-Hartman wrote:
> From: Eric Dumazet
>
> [ Upstream commit 0f6925b3e8da0dbbb52447ca8a8b42b371aac7db ]
>
> Xuan Zhuo reported that commit 3226b158e67c ("net: avoid 32 x truesize
> under-estimation for tiny skbs") brought a ~10% performance
On Mon, Apr 12, 2021 at 10:39:29AM +0200, Greg Kroah-Hartman wrote:
> From: Eric Dumazet
>
> commit 0f6925b3e8da0dbbb52447ca8a8b42b371aac7db upstream.
>
> Xuan Zhuo reported that commit 3226b158e67c ("net: avoid 32 x truesize
> under-estimation for tiny skbs") brought a ~10% performance drop.
On Mon, Apr 12, 2021 at 02:35:07PM +0800, Jason Wang wrote:
>
> 在 2021/4/10 上午12:04, Michael S. Tsirkin 写道:
> > On Fri, Apr 09, 2021 at 12:47:55PM +0800, Jason Wang wrote:
> > > 在 2021/4/8 下午11:59, Michael S. Tsirkin 写道:
> > > > On Thu, Apr 08, 2021 at 04:26:48PM +0800, Jason Wang wrote:
> > > >
On Sun, Apr 11, 2021 at 12:50:22PM +0300, Max Gurtovoy wrote:
>
> On 4/9/2021 8:22 AM, Jason Wang wrote:
> >
> > 在 2021/4/8 下午10:24, Max Gurtovoy 写道:
> > >
> > > On 4/8/2021 4:14 PM, Jason Wang wrote:
> > > >
> > > > 在 2021/4/8 下午5:56, Max Gurtovoy 写道:
> > > > >
> > > > > On 4/8/2021 11:58
From: Eric Dumazet
commit 0f6925b3e8da0dbbb52447ca8a8b42b371aac7db upstream.
Xuan Zhuo reported that commit 3226b158e67c ("net: avoid 32 x truesize
under-estimation for tiny skbs") brought a ~10% performance drop.
The reason for the performance drop was that GRO was forced
to chain sk_buff
On Mon, Apr 12, 2021 at 10:29:17AM +0800, Yongji Xie wrote:
> On Mon, Apr 12, 2021 at 4:49 AM Michael S. Tsirkin wrote:
> >
> > On Sun, Apr 11, 2021 at 01:36:18PM +0800, Yongji Xie wrote:
> > > On Sat, Apr 10, 2021 at 12:16 AM Michael S. Tsirkin
> > > wrote:
> > > >
> > > > On Wed, Mar 31, 2021
From: Eric Dumazet
commit 0f6925b3e8da0dbbb52447ca8a8b42b371aac7db upstream.
Xuan Zhuo reported that commit 3226b158e67c ("net: avoid 32 x truesize
under-estimation for tiny skbs") brought a ~10% performance drop.
The reason for the performance drop was that GRO was forced
to chain sk_buff
From: Eric Dumazet
[ Upstream commit 0f6925b3e8da0dbbb52447ca8a8b42b371aac7db ]
Xuan Zhuo reported that commit 3226b158e67c ("net: avoid 32 x truesize
under-estimation for tiny skbs") brought a ~10% performance drop.
The reason for the performance drop was that GRO was forced
to chain sk_buff
From: Eric Dumazet
[ Upstream commit 0f6925b3e8da0dbbb52447ca8a8b42b371aac7db ]
Xuan Zhuo reported that commit 3226b158e67c ("net: avoid 32 x truesize
under-estimation for tiny skbs") brought a ~10% performance drop.
The reason for the performance drop was that GRO was forced
to chain sk_buff
Hi Michael,
do you think this series is in an acceptable state to be queued for the
next merge window?
All patches should be already acked by Jason, let me know if I need to
change anything.
Thanks,
Stefano
On Mon, Mar 15, 2021 at 05:34:36PM +0100, Stefano Garzarella wrote:
v4:
- added
在 2021/4/9 下午4:02, Yongji Xie 写道:
+};
+
+struct vduse_dev_config_data {
+ __u32 offset; /* offset from the beginning of config space */
+ __u32 len; /* the length to read/write */
+ __u8 data[VDUSE_CONFIG_DATA_LEN]; /* data buffer used to read/write */
Note that since
在 2021/4/10 上午12:04, Michael S. Tsirkin 写道:
On Fri, Apr 09, 2021 at 12:47:55PM +0800, Jason Wang wrote:
在 2021/4/8 下午11:59, Michael S. Tsirkin 写道:
On Thu, Apr 08, 2021 at 04:26:48PM +0800, Jason Wang wrote:
This patch mandates 1.0 for vDPA devices. The goal is to have the
semantic of
Hi Eric,
On Mon, Apr 12, 2021 at 07:53:43AM +0200, Eric Dumazet wrote:
> On Mon, Apr 12, 2021 at 7:48 AM Eric Dumazet wrote:
> >
>
> > give a verdict.
> >
> > Please post the whole strace output.
> >
> > Thanks.
>
> Also please add -tt option to strace so that we have an idea of time
> delays
52 matches
Mail list logo