Message ID | 20210502093319.61313-1-mgurtovoy@nvidia.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/1] virtio-net: don't allocate control_buf if not supported | expand |
On 5/2/21, Max Gurtovoy <mgurtovoy@nvidia.com> wrote: > Not all virtio_net devices support the ctrl queue feature. Thus, there > is no need to allocate unused resources. > > Signed-off-by: Max Gurtovoy <mgurtovoy@nvidia.com> Reviewed-by: Venkatesh Srinivas <venkateshs@chromium.org> > --- > drivers/net/virtio_net.c | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > > diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c > index 7fda2ae4c40f..9b6a4a875c55 100644 > --- a/drivers/net/virtio_net.c > +++ b/drivers/net/virtio_net.c > @@ -2870,9 +2870,13 @@ static int virtnet_alloc_queues(struct virtnet_info > *vi) > { > int i; > > - vi->ctrl = kzalloc(sizeof(*vi->ctrl), GFP_KERNEL); > - if (!vi->ctrl) > - goto err_ctrl; > + if (vi->has_cvq) { > + vi->ctrl = kzalloc(sizeof(*vi->ctrl), GFP_KERNEL); > + if (!vi->ctrl) > + goto err_ctrl; > + } else { > + vi->ctrl = NULL; > + } > vi->sq = kcalloc(vi->max_queue_pairs, sizeof(*vi->sq), GFP_KERNEL); > if (!vi->sq) > goto err_sq; > -- > 2.18.1 > >
> Not all virtio_net devices support the ctrl queue feature. Thus, there > is no need to allocate unused resources. > > Signed-off-by: Max Gurtovoy <mgurtovoy@nvidia.com> > --- > drivers/net/virtio_net.c | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > > diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c > index 7fda2ae4c40f..9b6a4a875c55 100644 > --- a/drivers/net/virtio_net.c > +++ b/drivers/net/virtio_net.c > @@ -2870,9 +2870,13 @@ static int virtnet_alloc_queues(struct virtnet_info *vi) > { > int i; > > - vi->ctrl = kzalloc(sizeof(*vi->ctrl), GFP_KERNEL); > - if (!vi->ctrl) > - goto err_ctrl; > + if (vi->has_cvq) { > + vi->ctrl = kzalloc(sizeof(*vi->ctrl), GFP_KERNEL); > + if (!vi->ctrl) > + goto err_ctrl; > + } else { > + vi->ctrl = NULL; > + } > vi->sq = kcalloc(vi->max_queue_pairs, sizeof(*vi->sq), GFP_KERNEL); > if (!vi->sq) > goto err_sq; Reviewed-by: Pankaj Gupta <pankaj.gupta@ionos.com>
在 2021/5/2 下午5:33, Max Gurtovoy 写道: > Not all virtio_net devices support the ctrl queue feature. Thus, there > is no need to allocate unused resources. > > Signed-off-by: Max Gurtovoy <mgurtovoy@nvidia.com> Acked-by: Jason Wang <jasowang@redhat.com> > --- > drivers/net/virtio_net.c | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > > diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c > index 7fda2ae4c40f..9b6a4a875c55 100644 > --- a/drivers/net/virtio_net.c > +++ b/drivers/net/virtio_net.c > @@ -2870,9 +2870,13 @@ static int virtnet_alloc_queues(struct virtnet_info *vi) > { > int i; > > - vi->ctrl = kzalloc(sizeof(*vi->ctrl), GFP_KERNEL); > - if (!vi->ctrl) > - goto err_ctrl; > + if (vi->has_cvq) { > + vi->ctrl = kzalloc(sizeof(*vi->ctrl), GFP_KERNEL); > + if (!vi->ctrl) > + goto err_ctrl; > + } else { > + vi->ctrl = NULL; > + } > vi->sq = kcalloc(vi->max_queue_pairs, sizeof(*vi->sq), GFP_KERNEL); > if (!vi->sq) > goto err_sq;
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index 7fda2ae4c40f..9b6a4a875c55 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -2870,9 +2870,13 @@ static int virtnet_alloc_queues(struct virtnet_info *vi) { int i; - vi->ctrl = kzalloc(sizeof(*vi->ctrl), GFP_KERNEL); - if (!vi->ctrl) - goto err_ctrl; + if (vi->has_cvq) { + vi->ctrl = kzalloc(sizeof(*vi->ctrl), GFP_KERNEL); + if (!vi->ctrl) + goto err_ctrl; + } else { + vi->ctrl = NULL; + } vi->sq = kcalloc(vi->max_queue_pairs, sizeof(*vi->sq), GFP_KERNEL); if (!vi->sq) goto err_sq;
Not all virtio_net devices support the ctrl queue feature. Thus, there is no need to allocate unused resources. Signed-off-by: Max Gurtovoy <mgurtovoy@nvidia.com> --- drivers/net/virtio_net.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-)