From: Keir Fraser <keirf@google.com> To: Gavin Shan <gshan@redhat.com> Cc: "Michael S. Tsirkin" <mst@redhat.com>, Will Deacon <will@kernel.org>, virtualization@lists.linux.dev, linux-kernel@vger.kernel.org, jasowang@redhat.com, xuanzhuo@linux.alibaba.com, yihyu@redhat.com, shan.gavin@gmail.com, linux-arm-kernel@lists.infradead.org, Catalin Marinas <catalin.marinas@arm.com>, mochs@nvidia.com Subject: Re: [PATCH] virtio_ring: Fix the stale index in available ring Date: Wed, 20 Mar 2024 17:15:02 +0000 [thread overview] Message-ID: <ZfsZljA_mmHKkBsA@google.com> (raw) In-Reply-To: <3a6c8b23-af9c-47a7-8c22-8e0a78154bd3@redhat.com> On Wed, Mar 20, 2024 at 03:24:16PM +1000, Gavin Shan wrote: > > Before this patch was posted, I had debugging code to record last 16 transactions > to the available and used queue from guest and host side. It did reveal the wrong > head was fetched from the available queue. > > [ 11.785745] ================ virtqueue_get_buf_ctx_split ================ > [ 11.786238] virtio_net virtio0: output.0:id 74 is not a head! > [ 11.786655] head to be released: 036 077 > [ 11.786952] > [ 11.786952] avail_idx: > [ 11.787234] 000 63985 <-- > [ 11.787237] 001 63986 > [ 11.787444] 002 63987 > [ 11.787632] 003 63988 > [ 11.787821] 004 63989 > [ 11.788006] 005 63990 > [ 11.788194] 006 63991 > [ 11.788381] 007 63992 > [ 11.788567] 008 63993 > [ 11.788772] 009 63994 > [ 11.788957] 010 63995 > [ 11.789141] 011 63996 > [ 11.789327] 012 63997 > [ 11.789515] 013 63998 > [ 11.789701] 014 63999 > [ 11.789886] 015 64000 Does the error always occur at such a round idx value? Here, 64000 == 0xFA00. Maybe coincidence but it's improbable enough to be interesting. This debug code seems rather useful! -- Keir > [ 11.790068] > [ 11.790068] avail_head: > [ 11.790529] 000 075 <-- > [ 11.790718] 001 036 > [ 11.790890] 002 077 > [ 11.791061] 003 129 > [ 11.791231] 004 072 > [ 11.791400] 005 130 > [ 11.791574] 006 015 > [ 11.791748] 007 074 > [ 11.791918] 008 130 > [ 11.792094] 009 130 > [ 11.792263] 010 074 > [ 11.792437] 011 015 > [ 11.792617] 012 072 > [ 11.792788] 013 129 > [ 11.792961] 014 077 // The last two heads from guest to host: 077, 036 > [ 11.793134] 015 036 > > [root@nvidia-grace-hopper-05 qemu.main]# cat /proc/vhost > > avail_idx > 000 63998 > 001 64000 > 002 63954 <--- > 003 63955 > 004 63956 > 005 63974 > 006 63981 > 007 63984 > 008 63986 > 009 63987 > 010 63988 > 011 63989 > 012 63992 > 013 63993 > 014 63995 > 015 63997 > > avail_head > 000 074 > 001 015 > 002 072 > 003 129 > 004 074 // The last two heads seen by vhost is: 074, 036 > 005 036 > 006 075 <--- > 007 036 > 008 077 > 009 129 > 010 072 > 011 130 > 012 015 > 013 074 > 014 130 > 015 130 > > used_idx > 000 64000 > 001 63882 <--- > 002 63889 > 003 63891 > 004 63898 > 005 63936 > 006 63942 > 007 63946 > 008 63949 > 009 63953 > 010 63957 > 011 63981 > 012 63990 > 013 63992 > 014 63993 > 015 63999 > > used_head > 000 072 > 001 129 > 002 074 // The last two heads published to guest is: 074, 036 > 003 036 > 004 075 <--- > 005 036 > 006 077 > 007 129 > 008 072 > 009 130 > 010 015 > 011 074 > 012 130 > 013 130 > 014 074 > 015 015 > > Thanks, > Gavin > > > >
WARNING: multiple messages have this Message-ID (diff)
From: Keir Fraser <keirf@google.com> To: Gavin Shan <gshan@redhat.com> Cc: "Michael S. Tsirkin" <mst@redhat.com>, Will Deacon <will@kernel.org>, virtualization@lists.linux.dev, linux-kernel@vger.kernel.org, jasowang@redhat.com, xuanzhuo@linux.alibaba.com, yihyu@redhat.com, shan.gavin@gmail.com, linux-arm-kernel@lists.infradead.org, Catalin Marinas <catalin.marinas@arm.com>, mochs@nvidia.com Subject: Re: [PATCH] virtio_ring: Fix the stale index in available ring Date: Wed, 20 Mar 2024 17:15:02 +0000 [thread overview] Message-ID: <ZfsZljA_mmHKkBsA@google.com> (raw) In-Reply-To: <3a6c8b23-af9c-47a7-8c22-8e0a78154bd3@redhat.com> On Wed, Mar 20, 2024 at 03:24:16PM +1000, Gavin Shan wrote: > > Before this patch was posted, I had debugging code to record last 16 transactions > to the available and used queue from guest and host side. It did reveal the wrong > head was fetched from the available queue. > > [ 11.785745] ================ virtqueue_get_buf_ctx_split ================ > [ 11.786238] virtio_net virtio0: output.0:id 74 is not a head! > [ 11.786655] head to be released: 036 077 > [ 11.786952] > [ 11.786952] avail_idx: > [ 11.787234] 000 63985 <-- > [ 11.787237] 001 63986 > [ 11.787444] 002 63987 > [ 11.787632] 003 63988 > [ 11.787821] 004 63989 > [ 11.788006] 005 63990 > [ 11.788194] 006 63991 > [ 11.788381] 007 63992 > [ 11.788567] 008 63993 > [ 11.788772] 009 63994 > [ 11.788957] 010 63995 > [ 11.789141] 011 63996 > [ 11.789327] 012 63997 > [ 11.789515] 013 63998 > [ 11.789701] 014 63999 > [ 11.789886] 015 64000 Does the error always occur at such a round idx value? Here, 64000 == 0xFA00. Maybe coincidence but it's improbable enough to be interesting. This debug code seems rather useful! -- Keir > [ 11.790068] > [ 11.790068] avail_head: > [ 11.790529] 000 075 <-- > [ 11.790718] 001 036 > [ 11.790890] 002 077 > [ 11.791061] 003 129 > [ 11.791231] 004 072 > [ 11.791400] 005 130 > [ 11.791574] 006 015 > [ 11.791748] 007 074 > [ 11.791918] 008 130 > [ 11.792094] 009 130 > [ 11.792263] 010 074 > [ 11.792437] 011 015 > [ 11.792617] 012 072 > [ 11.792788] 013 129 > [ 11.792961] 014 077 // The last two heads from guest to host: 077, 036 > [ 11.793134] 015 036 > > [root@nvidia-grace-hopper-05 qemu.main]# cat /proc/vhost > > avail_idx > 000 63998 > 001 64000 > 002 63954 <--- > 003 63955 > 004 63956 > 005 63974 > 006 63981 > 007 63984 > 008 63986 > 009 63987 > 010 63988 > 011 63989 > 012 63992 > 013 63993 > 014 63995 > 015 63997 > > avail_head > 000 074 > 001 015 > 002 072 > 003 129 > 004 074 // The last two heads seen by vhost is: 074, 036 > 005 036 > 006 075 <--- > 007 036 > 008 077 > 009 129 > 010 072 > 011 130 > 012 015 > 013 074 > 014 130 > 015 130 > > used_idx > 000 64000 > 001 63882 <--- > 002 63889 > 003 63891 > 004 63898 > 005 63936 > 006 63942 > 007 63946 > 008 63949 > 009 63953 > 010 63957 > 011 63981 > 012 63990 > 013 63992 > 014 63993 > 015 63999 > > used_head > 000 072 > 001 129 > 002 074 // The last two heads published to guest is: 074, 036 > 003 036 > 004 075 <--- > 005 036 > 006 077 > 007 129 > 008 072 > 009 130 > 010 015 > 011 074 > 012 130 > 013 130 > 014 074 > 015 015 > > Thanks, > Gavin > > > > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2024-03-20 17:15 UTC|newest] Thread overview: 78+ messages / expand[flat|nested] mbox.gz Atom feed top 2024-03-14 7:49 [PATCH] virtio_ring: Fix the stale index in available ring Gavin Shan 2024-03-14 8:05 ` Michael S. Tsirkin 2024-03-14 10:15 ` Gavin Shan 2024-03-14 11:50 ` Michael S. Tsirkin 2024-03-14 12:50 ` Gavin Shan 2024-03-14 12:59 ` Michael S. Tsirkin 2024-03-15 10:45 ` Gavin Shan 2024-03-15 10:45 ` Gavin Shan 2024-03-15 11:05 ` Michael S. Tsirkin 2024-03-15 11:05 ` Michael S. Tsirkin 2024-03-15 11:24 ` Gavin Shan 2024-03-15 11:24 ` Gavin Shan 2024-03-17 16:50 ` Michael S. Tsirkin 2024-03-17 16:50 ` Michael S. Tsirkin 2024-03-17 23:41 ` Gavin Shan 2024-03-17 23:41 ` Gavin Shan 2024-03-18 7:50 ` Michael S. Tsirkin 2024-03-18 7:50 ` Michael S. Tsirkin 2024-03-18 16:59 ` Will Deacon 2024-03-19 4:59 ` Gavin Shan 2024-03-19 4:59 ` Gavin Shan 2024-03-19 6:09 ` Michael S. Tsirkin 2024-03-19 6:09 ` Michael S. Tsirkin 2024-03-19 6:10 ` Michael S. Tsirkin 2024-03-19 6:10 ` Michael S. Tsirkin 2024-03-19 6:54 ` Gavin Shan 2024-03-19 6:54 ` Gavin Shan 2024-03-19 7:04 ` Michael S. Tsirkin 2024-03-19 7:04 ` Michael S. Tsirkin 2024-03-19 7:41 ` Gavin Shan 2024-03-19 7:41 ` Gavin Shan 2024-03-19 8:28 ` Michael S. Tsirkin 2024-03-19 8:28 ` Michael S. Tsirkin 2024-03-19 6:38 ` Gavin Shan 2024-03-19 6:38 ` Gavin Shan 2024-03-19 6:43 ` Michael S. Tsirkin 2024-03-19 6:43 ` Michael S. Tsirkin 2024-03-19 6:49 ` Gavin Shan 2024-03-19 6:49 ` Gavin Shan 2024-03-19 7:09 ` Michael S. Tsirkin 2024-03-19 7:09 ` Michael S. Tsirkin 2024-03-19 8:08 ` Gavin Shan 2024-03-19 8:08 ` Gavin Shan 2024-03-19 8:49 ` Michael S. Tsirkin 2024-03-19 8:49 ` Michael S. Tsirkin 2024-03-19 18:22 ` Will Deacon 2024-03-19 18:22 ` Will Deacon 2024-03-19 23:56 ` Gavin Shan 2024-03-19 23:56 ` Gavin Shan 2024-03-20 0:49 ` Michael S. Tsirkin 2024-03-20 0:49 ` Michael S. Tsirkin 2024-03-20 5:24 ` Gavin Shan 2024-03-20 5:24 ` Gavin Shan 2024-03-20 7:14 ` Michael S. Tsirkin 2024-03-20 7:14 ` Michael S. Tsirkin 2024-03-25 7:34 ` Gavin Shan 2024-03-25 7:34 ` Gavin Shan 2024-03-26 7:49 ` Michael S. Tsirkin 2024-03-26 7:49 ` Michael S. Tsirkin 2024-03-26 9:38 ` Keir Fraser 2024-03-26 9:38 ` Keir Fraser 2024-03-26 11:43 ` Will Deacon 2024-03-26 11:43 ` Will Deacon 2024-03-26 15:46 ` Will Deacon 2024-03-26 15:46 ` Will Deacon 2024-03-26 23:14 ` Gavin Shan 2024-03-26 23:14 ` Gavin Shan 2024-03-27 0:01 ` Gavin Shan 2024-03-27 0:01 ` Gavin Shan 2024-03-27 11:56 ` Michael S. Tsirkin 2024-03-27 11:56 ` Michael S. Tsirkin 2024-03-20 17:15 ` Keir Fraser [this message] 2024-03-20 17:15 ` Keir Fraser 2024-03-21 12:06 ` Gavin Shan 2024-03-21 12:06 ` Gavin Shan 2024-03-19 7:36 ` Michael S. Tsirkin 2024-03-19 18:21 ` Will Deacon 2024-03-19 6:14 ` Michael S. Tsirkin
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=ZfsZljA_mmHKkBsA@google.com \ --to=keirf@google.com \ --cc=catalin.marinas@arm.com \ --cc=gshan@redhat.com \ --cc=jasowang@redhat.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=mochs@nvidia.com \ --cc=mst@redhat.com \ --cc=shan.gavin@gmail.com \ --cc=virtualization@lists.linux.dev \ --cc=will@kernel.org \ --cc=xuanzhuo@linux.alibaba.com \ --cc=yihyu@redhat.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: linkBe 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.