All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Simon Horman <horms@kernel.org>
Cc: Daniel Jurgens <danielj@nvidia.com>,
	netdev@vger.kernel.org, jasowang@redhat.com,
	xuanzhuo@linux.alibaba.com, virtualization@lists.linux.dev,
	davem@davemloft.net, edumazet@google.com, kuba@kernel.org,
	pabeni@redhat.com, jiri@nvidia.com
Subject: Re: [PATCH net-next 2/4] virtio_net: Remove command data from control_buf
Date: Thu, 28 Mar 2024 11:29:22 -0400	[thread overview]
Message-ID: <20240328112856-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20240328133516.GK403975@kernel.org>

On Thu, Mar 28, 2024 at 01:35:16PM +0000, Simon Horman wrote:
> On Mon, Mar 25, 2024 at 04:49:09PM -0500, Daniel Jurgens wrote:
> > Allocate memory for the data when it's used. Ideally the could be on the
> > stack, but we can't DMA stack memory. With this change only the header
> > and status memory are shared between commands, which will allow using a
> > tighter lock than RTNL.
> > 
> > Signed-off-by: Daniel Jurgens <danielj@nvidia.com>
> > Reviewed-by: Jiri Pirko <jiri@nvidia.com>
> 
> ...
> 
> > @@ -3893,10 +3925,16 @@ static int virtnet_restore_up(struct virtio_device *vdev)
> >  
> >  static int virtnet_set_guest_offloads(struct virtnet_info *vi, u64 offloads)
> >  {
> > +	u64 *_offloads __free(kfree) = NULL;
> >  	struct scatterlist sg;
> > -	vi->ctrl->offloads = cpu_to_virtio64(vi->vdev, offloads);
> >  
> > -	sg_init_one(&sg, &vi->ctrl->offloads, sizeof(vi->ctrl->offloads));
> > +	_offloads = kzalloc(sizeof(*_offloads), GFP_KERNEL);
> > +	if (!_offloads)
> > +		return -ENOMEM;
> > +
> > +	*_offloads = cpu_to_virtio64(vi->vdev, offloads);
> 
> Hi Daniel,
> 
> There is a type mismatch between *_offloads and cpu_to_virtio64
> which is flagged by Sparse as follows:
> 
>  .../virtio_net.c:3978:20: warning: incorrect type in assignment (different base types)
>  .../virtio_net.c:3978:20:    expected unsigned long long [usertype]
>  .../virtio_net.c:3978:20:    got restricted __virtio64
> 
> I think this can be addressed by changing the type of *_offloads to
> __virtio64 *.


Yes pls, endian-ness is easier to get right 1st time than fix
afterwards.

> > +
> > +	sg_init_one(&sg, _offloads, sizeof(*_offloads));
> >  
> >  	if (!virtnet_send_command(vi, VIRTIO_NET_CTRL_GUEST_OFFLOADS,
> >  				  VIRTIO_NET_CTRL_GUEST_OFFLOADS_SET, &sg)) {
> > -- 
> > 2.42.0
> > 
> > 


  reply	other threads:[~2024-03-28 15:29 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-25 21:49 [PATCH net-next 0/4] Remove RTNL lock protection of CVQ Daniel Jurgens
2024-03-25 21:49 ` [PATCH net-next 1/4] virtio_net: Store RSS setting in virtnet_info Daniel Jurgens
2024-03-25 21:49 ` [PATCH net-next 2/4] virtio_net: Remove command data from control_buf Daniel Jurgens
2024-03-26  7:06   ` Heng Qi
2024-03-28 13:35   ` Simon Horman
2024-03-28 15:29     ` Michael S. Tsirkin [this message]
2024-03-25 21:49 ` [PATCH net-next 3/4] virtio_net: Add a lock for the command VQ Daniel Jurgens
2024-03-25 21:49 ` [PATCH net-next 4/4] virtio_net: Remove rtnl lock protection of command buffers Daniel Jurgens
2024-03-26  8:54   ` Heng Qi
2024-03-26 15:18     ` Dan Jurgens
2024-03-27  2:10       ` Heng Qi
2024-03-27 12:00         ` Heng Qi
2024-03-26  1:33 ` [PATCH net-next 0/4] Remove RTNL lock protection of CVQ Xuan Zhuo
2024-03-26  2:54 ` Heng Qi
2024-03-26  4:11   ` Dan Jurgens
2024-03-26  6:05     ` Heng Qi

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=20240328112856-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=danielj@nvidia.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=horms@kernel.org \
    --cc=jasowang@redhat.com \
    --cc=jiri@nvidia.com \
    --cc=kuba@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=virtualization@lists.linux.dev \
    --cc=xuanzhuo@linux.alibaba.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.