All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Jason Wang <jasowang@redhat.com>
Cc: "netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"virtualization@lists.linux-foundation.org"
	<virtualization@lists.linux-foundation.org>,
	"xieyongji@bytedance.com" <xieyongji@bytedance.com>,
	"gautam.dawar@amd.com" <gautam.dawar@amd.com>,
	"Zhu, Lingshan" <lingshan.zhu@intel.com>
Subject: Re: [PATCH V3 5/6] vDPA: answer num of queue pairs = 1 to userspace when VIRTIO_NET_F_MQ == 0
Date: Wed, 27 Jul 2022 11:45:43 -0400	[thread overview]
Message-ID: <20220727114419-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <CACGkMEtDFUGX17giwYdF58QJ1ccZJDJg1nFVDkSeB27sfZz28g@mail.gmail.com>

On Wed, Jul 27, 2022 at 05:50:59PM +0800, Jason Wang wrote:
> On Wed, Jul 27, 2022 at 5:03 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> >
> > On Wed, Jul 27, 2022 at 02:54:13PM +0800, Jason Wang wrote:
> > > On Wed, Jul 27, 2022 at 2:01 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> > > >
> > > > On Wed, Jul 27, 2022 at 03:47:35AM +0000, Parav Pandit wrote:
> > > > >
> > > > > > From: Zhu, Lingshan <lingshan.zhu@intel.com>
> > > > > > Sent: Tuesday, July 26, 2022 10:53 PM
> > > > > >
> > > > > > On 7/27/2022 10:17 AM, Parav Pandit wrote:
> > > > > > >> From: Zhu, Lingshan <lingshan.zhu@intel.com>
> > > > > > >> Sent: Tuesday, July 26, 2022 10:15 PM
> > > > > > >>
> > > > > > >> On 7/26/2022 11:56 PM, Parav Pandit wrote:
> > > > > > >>>> From: Zhu, Lingshan <lingshan.zhu@intel.com>
> > > > > > >>>> Sent: Tuesday, July 12, 2022 11:46 PM
> > > > > > >>>>> When the user space which invokes netlink commands, detects that
> > > > > > >> _MQ
> > > > > > >>>> is not supported, hence it takes max_queue_pair = 1 by itself.
> > > > > > >>>> I think the kernel module have all necessary information and it is
> > > > > > >>>> the only one which have precise information of a device, so it
> > > > > > >>>> should answer precisely than let the user space guess. The kernel
> > > > > > >>>> module should be reliable than stay silent, leave the question to
> > > > > > >>>> the user space
> > > > > > >> tool.
> > > > > > >>> Kernel is reliable. It doesn’t expose a config space field if the
> > > > > > >>> field doesn’t
> > > > > > >> exist regardless of field should have default or no default.
> > > > > > >> so when you know it is one queue pair, you should answer one, not try
> > > > > > >> to guess.
> > > > > > >>> User space should not guess either. User space gets to see if _MQ
> > > > > > >> present/not present. If _MQ present than get reliable data from kernel.
> > > > > > >>> If _MQ not present, it means this device has one VQ pair.
> > > > > > >> it is still a guess, right? And all user space tools implemented this
> > > > > > >> feature need to guess
> > > > > > > No. it is not a guess.
> > > > > > > It is explicitly checking the _MQ feature and deriving the value.
> > > > > > > The code you proposed will be present in the user space.
> > > > > > > It will be uniform for _MQ and 10 other features that are present now and
> > > > > > in the future.
> > > > > > MQ and other features like RSS are different. If there is no _RSS_XX, there
> > > > > > are no attributes like max_rss_key_size, and there is not a default value.
> > > > > > But for MQ, we know it has to be 1 wihtout _MQ.
> > > > > "we" = user space.
> > > > > To keep the consistency among all the config space fields.
> > > >
> > > > Actually I looked and the code some more and I'm puzzled:
> > > >
> > > >
> > > >         struct virtio_net_config config = {};
> > > >         u64 features;
> > > >         u16 val_u16;
> > > >
> > > >         vdpa_get_config_unlocked(vdev, 0, &config, sizeof(config));
> > > >
> > > >         if (nla_put(msg, VDPA_ATTR_DEV_NET_CFG_MACADDR, sizeof(config.mac),
> > > >                     config.mac))
> > > >                 return -EMSGSIZE;
> > > >
> > > >
> > > > Mac returned even without VIRTIO_NET_F_MAC
> > > >
> > > >
> > > >         val_u16 = le16_to_cpu(config.status);
> > > >         if (nla_put_u16(msg, VDPA_ATTR_DEV_NET_STATUS, val_u16))
> > > >                 return -EMSGSIZE;
> > > >
> > > >
> > > > status returned even without VIRTIO_NET_F_STATUS
> > > >
> > > >         val_u16 = le16_to_cpu(config.mtu);
> > > >         if (nla_put_u16(msg, VDPA_ATTR_DEV_NET_CFG_MTU, val_u16))
> > > >                 return -EMSGSIZE;
> > > >
> > > >
> > > > MTU returned even without VIRTIO_NET_F_MTU
> > > >
> > > >
> > > > What's going on here?
> > >
> > > Probably too late to fix, but this should be fine as long as all
> > > parents support STATUS/MTU/MAC.
> >
> > Why is this too late to fix.
> 
> If we make this conditional on the features. This may break the
> userspace that always expects VDPA_ATTR_DEV_NET_CFG_MTU?
> 
> Thanks

Well only on devices without MTU. I'm saying said userspace
was reading trash on such devices anyway.
We don't generally maintain bug for bug compatiblity on a whim,
only if userspace is actually known to break if we fix a bug.


> >
> > > I wonder if we can add a check in the core and fail the device
> > > registration in this case.
> > >
> > > Thanks
> > >
> > > >
> > > >
> > > > --
> > > > MST
> > > >
> >

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Jason Wang <jasowang@redhat.com>
Cc: Parav Pandit <parav@nvidia.com>,
	"Zhu, Lingshan" <lingshan.zhu@intel.com>,
	"virtualization@lists.linux-foundation.org" 
	<virtualization@lists.linux-foundation.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"xieyongji@bytedance.com" <xieyongji@bytedance.com>,
	"gautam.dawar@amd.com" <gautam.dawar@amd.com>
Subject: Re: [PATCH V3 5/6] vDPA: answer num of queue pairs = 1 to userspace when VIRTIO_NET_F_MQ == 0
Date: Wed, 27 Jul 2022 11:45:43 -0400	[thread overview]
Message-ID: <20220727114419-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <CACGkMEtDFUGX17giwYdF58QJ1ccZJDJg1nFVDkSeB27sfZz28g@mail.gmail.com>

On Wed, Jul 27, 2022 at 05:50:59PM +0800, Jason Wang wrote:
> On Wed, Jul 27, 2022 at 5:03 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> >
> > On Wed, Jul 27, 2022 at 02:54:13PM +0800, Jason Wang wrote:
> > > On Wed, Jul 27, 2022 at 2:01 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> > > >
> > > > On Wed, Jul 27, 2022 at 03:47:35AM +0000, Parav Pandit wrote:
> > > > >
> > > > > > From: Zhu, Lingshan <lingshan.zhu@intel.com>
> > > > > > Sent: Tuesday, July 26, 2022 10:53 PM
> > > > > >
> > > > > > On 7/27/2022 10:17 AM, Parav Pandit wrote:
> > > > > > >> From: Zhu, Lingshan <lingshan.zhu@intel.com>
> > > > > > >> Sent: Tuesday, July 26, 2022 10:15 PM
> > > > > > >>
> > > > > > >> On 7/26/2022 11:56 PM, Parav Pandit wrote:
> > > > > > >>>> From: Zhu, Lingshan <lingshan.zhu@intel.com>
> > > > > > >>>> Sent: Tuesday, July 12, 2022 11:46 PM
> > > > > > >>>>> When the user space which invokes netlink commands, detects that
> > > > > > >> _MQ
> > > > > > >>>> is not supported, hence it takes max_queue_pair = 1 by itself.
> > > > > > >>>> I think the kernel module have all necessary information and it is
> > > > > > >>>> the only one which have precise information of a device, so it
> > > > > > >>>> should answer precisely than let the user space guess. The kernel
> > > > > > >>>> module should be reliable than stay silent, leave the question to
> > > > > > >>>> the user space
> > > > > > >> tool.
> > > > > > >>> Kernel is reliable. It doesn’t expose a config space field if the
> > > > > > >>> field doesn’t
> > > > > > >> exist regardless of field should have default or no default.
> > > > > > >> so when you know it is one queue pair, you should answer one, not try
> > > > > > >> to guess.
> > > > > > >>> User space should not guess either. User space gets to see if _MQ
> > > > > > >> present/not present. If _MQ present than get reliable data from kernel.
> > > > > > >>> If _MQ not present, it means this device has one VQ pair.
> > > > > > >> it is still a guess, right? And all user space tools implemented this
> > > > > > >> feature need to guess
> > > > > > > No. it is not a guess.
> > > > > > > It is explicitly checking the _MQ feature and deriving the value.
> > > > > > > The code you proposed will be present in the user space.
> > > > > > > It will be uniform for _MQ and 10 other features that are present now and
> > > > > > in the future.
> > > > > > MQ and other features like RSS are different. If there is no _RSS_XX, there
> > > > > > are no attributes like max_rss_key_size, and there is not a default value.
> > > > > > But for MQ, we know it has to be 1 wihtout _MQ.
> > > > > "we" = user space.
> > > > > To keep the consistency among all the config space fields.
> > > >
> > > > Actually I looked and the code some more and I'm puzzled:
> > > >
> > > >
> > > >         struct virtio_net_config config = {};
> > > >         u64 features;
> > > >         u16 val_u16;
> > > >
> > > >         vdpa_get_config_unlocked(vdev, 0, &config, sizeof(config));
> > > >
> > > >         if (nla_put(msg, VDPA_ATTR_DEV_NET_CFG_MACADDR, sizeof(config.mac),
> > > >                     config.mac))
> > > >                 return -EMSGSIZE;
> > > >
> > > >
> > > > Mac returned even without VIRTIO_NET_F_MAC
> > > >
> > > >
> > > >         val_u16 = le16_to_cpu(config.status);
> > > >         if (nla_put_u16(msg, VDPA_ATTR_DEV_NET_STATUS, val_u16))
> > > >                 return -EMSGSIZE;
> > > >
> > > >
> > > > status returned even without VIRTIO_NET_F_STATUS
> > > >
> > > >         val_u16 = le16_to_cpu(config.mtu);
> > > >         if (nla_put_u16(msg, VDPA_ATTR_DEV_NET_CFG_MTU, val_u16))
> > > >                 return -EMSGSIZE;
> > > >
> > > >
> > > > MTU returned even without VIRTIO_NET_F_MTU
> > > >
> > > >
> > > > What's going on here?
> > >
> > > Probably too late to fix, but this should be fine as long as all
> > > parents support STATUS/MTU/MAC.
> >
> > Why is this too late to fix.
> 
> If we make this conditional on the features. This may break the
> userspace that always expects VDPA_ATTR_DEV_NET_CFG_MTU?
> 
> Thanks

Well only on devices without MTU. I'm saying said userspace
was reading trash on such devices anyway.
We don't generally maintain bug for bug compatiblity on a whim,
only if userspace is actually known to break if we fix a bug.


> >
> > > I wonder if we can add a check in the core and fail the device
> > > registration in this case.
> > >
> > > Thanks
> > >
> > > >
> > > >
> > > > --
> > > > MST
> > > >
> >


  reply	other threads:[~2022-07-27 15:45 UTC|newest]

Thread overview: 186+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-01 13:28 [PATCH V3 0/6] ifcvf/vDPA: support query device config space through netlink Zhu Lingshan
2022-07-01 13:28 ` [PATCH V3 1/6] vDPA/ifcvf: get_config_size should return a value no greater than dev implementation Zhu Lingshan
2022-07-04  4:39   ` Jason Wang
2022-07-04  4:39     ` Jason Wang
2022-07-08  6:44     ` Zhu, Lingshan
2022-07-13  5:44       ` Michael S. Tsirkin
2022-07-13  5:44         ` Michael S. Tsirkin
2022-07-13  7:52         ` Zhu, Lingshan
2022-07-13  5:31   ` Michael S. Tsirkin
2022-07-13  5:31     ` Michael S. Tsirkin
2022-07-13  7:48     ` Zhu, Lingshan
2022-07-01 13:28 ` [PATCH V3 2/6] vDPA/ifcvf: support userspace to query features and MQ of a management device Zhu Lingshan
2022-07-04  4:43   ` Jason Wang
2022-07-04  4:43     ` Jason Wang
2022-07-08  6:54     ` Zhu, Lingshan
2022-07-01 13:28 ` [PATCH V3 3/6] vDPA: allow userspace to query features of a vDPA device Zhu Lingshan
2022-07-01 22:02   ` Parav Pandit via Virtualization
2022-07-01 22:02     ` Parav Pandit
2022-07-04  4:46     ` Jason Wang
2022-07-04  4:46       ` Jason Wang
2022-07-04 12:53       ` Parav Pandit via Virtualization
2022-07-04 12:53         ` Parav Pandit
2022-07-05  7:59         ` Zhu, Lingshan
2022-07-05 11:56           ` Parav Pandit via Virtualization
2022-07-05 11:56             ` Parav Pandit
2022-07-05 16:56             ` Zhu, Lingshan
2022-07-05 17:01               ` Parav Pandit via Virtualization
2022-07-05 17:01                 ` Parav Pandit
2022-07-06  2:25                 ` Zhu, Lingshan
2022-07-06  2:28                   ` Parav Pandit via Virtualization
2022-07-06  2:28                     ` Parav Pandit
2022-07-23 11:27                   ` Zhu, Lingshan
2022-07-24 15:23                     ` Parav Pandit via Virtualization
2022-07-24 15:23                       ` Parav Pandit
2022-07-27  8:15             ` Si-Wei Liu
2022-07-27  8:15               ` Si-Wei Liu
2022-07-27 11:38               ` Zhu, Lingshan
2022-07-08  6:16     ` Zhu, Lingshan
2022-07-08 16:13       ` Parav Pandit via Virtualization
2022-07-08 16:13         ` Parav Pandit
2022-07-11  2:18         ` Zhu, Lingshan
2022-07-01 13:28 ` [PATCH V3 4/6] vDPA: !FEATURES_OK should not block querying device config space Zhu Lingshan
2022-07-01 22:12   ` Parav Pandit via Virtualization
2022-07-01 22:12     ` Parav Pandit
2022-07-08  6:22     ` Zhu, Lingshan
2022-07-13  5:23     ` Michael S. Tsirkin
2022-07-13  5:23       ` Michael S. Tsirkin
2022-07-13  7:46       ` Zhu, Lingshan
2022-07-27  9:43     ` Si-Wei Liu
     [not found]       ` <63242254-ba84-6810-dad8-34f900b97f2f@intel.com>
2022-07-28  0:56         ` Si-Wei Liu
2022-07-28  2:06           ` Jason Wang
2022-07-28  2:06             ` Jason Wang
2022-07-28  7:08             ` Si-Wei Liu
2022-07-28  7:08               ` Si-Wei Liu
2022-07-28  7:36               ` Jason Wang
2022-07-28  7:36                 ` Jason Wang
2022-07-28  7:44                 ` Zhu, Lingshan
2022-07-28  8:20                 ` spec clarification (was Re: [PATCH V3 4/6] vDPA: !FEATURES_OK should not block querying device config space) Si-Wei Liu
2022-07-28 11:28                   ` [virtio-comment] " Michael S. Tsirkin
2022-07-28 11:28                     ` Michael S. Tsirkin
2022-07-28 11:28                     ` Michael S. Tsirkin
2022-07-28 11:35               ` [PATCH V3 4/6] vDPA: !FEATURES_OK should not block querying device config space Michael S. Tsirkin
2022-07-28 11:35                 ` Michael S. Tsirkin
2022-07-28 22:12                 ` Si-Wei Liu
2022-07-28 22:12                   ` Si-Wei Liu
     [not found]           ` <00e2e07e-1a2e-7af8-a060-cc9034e0d33f@intel.com>
2022-07-28 21:48             ` Si-Wei Liu
     [not found]               ` <c143e2da-208e-b046-9b8f-1780f75ed3e6@intel.com>
2022-07-29 20:55                 ` Si-Wei Liu
2022-07-29 20:55                   ` Si-Wei Liu
2022-08-01  4:44                   ` Jason Wang
2022-08-01  4:44                     ` Jason Wang
2022-08-01 22:53                     ` Si-Wei Liu
2022-08-01 22:53                       ` Si-Wei Liu
2022-08-01 22:58                       ` Si-Wei Liu
2022-08-01 22:58                         ` Si-Wei Liu
2022-08-02  6:33                         ` Jason Wang
2022-08-02  6:33                           ` Jason Wang
2022-08-03  1:26                           ` Si-Wei Liu
2022-08-03  1:26                             ` Si-Wei Liu
2022-08-03  2:30                             ` Zhu, Lingshan
2022-08-03 23:09                               ` Si-Wei Liu
2022-08-03 23:09                                 ` Si-Wei Liu
2022-08-04  1:41                                 ` Zhu, Lingshan
2022-08-04  1:41                                 ` Zhu, Lingshan
2022-07-01 13:28 ` [PATCH V3 5/6] vDPA: answer num of queue pairs = 1 to userspace when VIRTIO_NET_F_MQ == 0 Zhu Lingshan
2022-07-01 22:07   ` Parav Pandit via Virtualization
2022-07-01 22:07     ` Parav Pandit
2022-07-08  6:21     ` Zhu, Lingshan
2022-07-08 16:23       ` Parav Pandit via Virtualization
2022-07-08 16:23         ` Parav Pandit
2022-07-11  2:29         ` Zhu, Lingshan
2022-07-12 16:48           ` Parav Pandit via Virtualization
2022-07-12 16:48             ` Parav Pandit
2022-07-13  3:03             ` Zhu, Lingshan
2022-07-13  3:06               ` Parav Pandit via Virtualization
2022-07-13  3:06                 ` Parav Pandit
2022-07-13  3:45                 ` Zhu, Lingshan
2022-07-26 15:56                   ` Parav Pandit via Virtualization
2022-07-26 15:56                     ` Parav Pandit
2022-07-26 19:52                     ` Michael S. Tsirkin
2022-07-26 19:52                       ` Michael S. Tsirkin
2022-07-26 20:49                       ` Parav Pandit via Virtualization
2022-07-26 20:49                         ` Parav Pandit
2022-07-27  2:14                     ` Zhu, Lingshan
2022-07-27  2:17                       ` Parav Pandit via Virtualization
2022-07-27  2:17                         ` Parav Pandit
2022-07-27  2:53                         ` Zhu, Lingshan
2022-07-27  3:47                           ` Parav Pandit via Virtualization
2022-07-27  3:47                             ` Parav Pandit
2022-07-27  4:24                             ` Zhu, Lingshan
2022-07-27  6:01                             ` Michael S. Tsirkin
2022-07-27  6:01                               ` Michael S. Tsirkin
2022-07-27  6:25                               ` Zhu, Lingshan
2022-07-27  6:56                                 ` Jason Wang
2022-07-27  6:56                                   ` Jason Wang
2022-07-27  9:05                                   ` Michael S. Tsirkin
2022-07-27  9:05                                     ` Michael S. Tsirkin
2022-07-27  6:54                               ` Jason Wang
2022-07-27  6:54                                 ` Jason Wang
2022-07-27  9:02                                 ` Michael S. Tsirkin
2022-07-27  9:02                                   ` Michael S. Tsirkin
2022-07-27  9:50                                   ` Jason Wang
2022-07-27  9:50                                     ` Jason Wang
2022-07-27 15:45                                     ` Michael S. Tsirkin [this message]
2022-07-27 15:45                                       ` Michael S. Tsirkin
2022-07-28  1:21                                       ` Jason Wang
2022-07-28  1:21                                         ` Jason Wang
2022-07-28  3:46                                         ` Zhu, Lingshan
2022-07-28  5:53                                           ` Jason Wang
2022-07-28  5:53                                             ` Jason Wang
2022-07-28  6:02                                             ` Zhu, Lingshan
2022-07-28  6:41                                             ` Michael S. Tsirkin
2022-07-28  6:41                                               ` Michael S. Tsirkin
2022-08-01  4:50                                               ` Jason Wang
2022-08-01  4:50                                                 ` Jason Wang
2022-07-27  7:50                               ` Si-Wei Liu
2022-07-27  7:50                                 ` Si-Wei Liu
2022-07-27  9:01                                 ` Michael S. Tsirkin
2022-07-27  9:01                                   ` Michael S. Tsirkin
2022-07-27 10:09                                   ` Si-Wei Liu
2022-07-27 10:09                                     ` Si-Wei Liu
2022-07-27 11:54                                     ` Zhu, Lingshan
2022-07-28  1:41                                       ` Si-Wei Liu
2022-07-28  1:41                                         ` Si-Wei Liu
2022-07-28  2:44                                         ` Zhu, Lingshan
2022-07-28 21:54                                           ` Si-Wei Liu
2022-07-28 21:54                                             ` Si-Wei Liu
2022-07-29  2:07                                             ` Zhu, Lingshan
2022-07-27 15:48                                     ` Michael S. Tsirkin
2022-07-27 15:48                                       ` Michael S. Tsirkin
2022-07-28  7:22                                       ` Si-Wei Liu
2022-07-13  5:26     ` Michael S. Tsirkin
2022-07-13  5:26       ` Michael S. Tsirkin
2022-07-13  7:47       ` Zhu, Lingshan
2022-07-26 15:54       ` Parav Pandit via Virtualization
2022-07-26 15:54         ` Parav Pandit
2022-07-26 19:48         ` Michael S. Tsirkin
2022-07-26 19:48           ` Michael S. Tsirkin
2022-07-26 20:53           ` Parav Pandit via Virtualization
2022-07-26 20:53             ` Parav Pandit
2022-07-27  1:56             ` Zhu, Lingshan
2022-07-27  2:11             ` Zhu, Lingshan
2022-07-01 13:28 ` [PATCH V3 6/6] vDPA: fix 'cast to restricted le16' warnings in vdpa.c Zhu Lingshan
2022-07-01 22:18   ` Parav Pandit via Virtualization
2022-07-01 22:18     ` Parav Pandit
2022-07-08  6:25     ` Zhu, Lingshan
2022-07-08 16:08       ` Parav Pandit via Virtualization
2022-07-08 16:08         ` Parav Pandit
2022-07-29  8:53   ` Michael S. Tsirkin
2022-07-29  8:53     ` Michael S. Tsirkin
2022-07-29  9:07     ` Zhu, Lingshan
2022-07-29  9:17       ` Michael S. Tsirkin
2022-07-29  9:17         ` Michael S. Tsirkin
2022-07-29  9:20         ` Zhu, Lingshan
2022-07-29  9:23           ` Michael S. Tsirkin
2022-07-29  9:23             ` Michael S. Tsirkin
2022-07-29  9:35             ` Zhu, Lingshan
2022-07-29  9:39               ` Michael S. Tsirkin
2022-07-29  9:39                 ` Michael S. Tsirkin
2022-07-29 10:01                 ` Zhu, Lingshan
2022-07-29 10:16                   ` Michael S. Tsirkin
2022-07-29 10:16                     ` Michael S. Tsirkin
2022-07-29 10:18                     ` Zhu, Lingshan
2022-08-01  4:33                 ` Jason Wang
2022-08-01  4:33                   ` Jason Wang
2022-08-01  6:25                   ` Michael S. Tsirkin
2022-08-01  6:25                     ` 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=20220727114419-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=gautam.dawar@amd.com \
    --cc=jasowang@redhat.com \
    --cc=lingshan.zhu@intel.com \
    --cc=netdev@vger.kernel.org \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=xieyongji@bytedance.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.