All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen-OTpzqLSitTUnbdJkjeBofR2eb7JE58TQ@public.gmane.org>
To: Yong Wang <yongwang-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
Cc: "dev-VfR2kkLFssw@public.gmane.org"
	<dev-VfR2kkLFssw@public.gmane.org>,
	Stephen Hemminger
	<shemming-43mecJUBy8ZBDgjK7y7TUQ@public.gmane.org>
Subject: Re: [PATCH v3 07/10] vmxnet3: support jumbo frames
Date: Tue, 10 Mar 2015 11:35:59 -0700	[thread overview]
Message-ID: <20150310113559.4073f04f@urahara> (raw)
In-Reply-To: <D1237B72.39F61%yongwang-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>

On Mon, 9 Mar 2015 23:32:48 +0000
Yong Wang <yongwang-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org> wrote:

> >
> >I didn’t see where mtu is used to calculate how many rx descriptors will
> >be needed for each packet.  Furthermore, as pointed out by the following
> >code comments, the device requires the first rx buffer of a packet be of
> >type VMXNET3_RXD_BTYPE_HEAD with the remaining buffers of type
> >VMXNET3_RXD_BTYPE_NODY.  This needs to be taken care of when populating rx
> >rings in vmxnet3_post_rx_bufs(). Currently we don’t do this because no
> >scatter-rx is supported and only one descriptor is needed for a packet
> >(thus all types should be HEAD). Otherwise, the device will complain with  
> 
> To clarify, in this case only the 1st ring will be used and thus all types
> will be HEAD.
> 
> >error returned.  For the 2nd rx ring, type needs to be BODY for all
> >descriptors still.

Looking in more detail, the code as submitted looks fine:

* The # of rx descriptors needed for each packet is responsibility of
  the application. Before and after this patch the # of Rx descriptors
  for each ring (head/body) is determined by vmxnet3_rx_queue_setup.
  And the driver always allocates the same number of descriptors
  for both Rx rings.

  One could argue that was a bug in the original driver, since it needlessly
  allocated mbufs for the second ring and never used them. I suppose
  as a optimization in future, the second ring could be sized as 0
  and no buffers allocated unless doing rx-scatter (this is what the
  Linux driver does. But that change is independent of this.

* Buffers are correctly reallocated as needed when consumed.

* The code works for bulk transfer and performance tests in jumbo mode.

I see no requirement to change this patch.
  

  parent reply	other threads:[~2015-03-10 18:35 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-06  0:10 [PATCH v3 00/10] vmxnet3: multisegment and bugfixes Stephen Hemminger
     [not found] ` <1425600635-20628-1-git-send-email-stephen-OTpzqLSitTUnbdJkjeBofR2eb7JE58TQ@public.gmane.org>
2015-03-06  0:10   ` [PATCH v3 01/10] vmxnet3: fix link state handling Stephen Hemminger
     [not found]     ` <1425600635-20628-2-git-send-email-stephen-OTpzqLSitTUnbdJkjeBofR2eb7JE58TQ@public.gmane.org>
2015-03-06 17:21       ` Sanford, Robert
     [not found]     ` <0efb310c0ee54f9192eae95f6ee909e0@BRMWP-EXMB11.corp.brocade.com>
     [not found]       ` <0efb310c0ee54f9192eae95f6ee909e0-sI283RzA5cMA50eAn2D9H4CDckiq/fhJZeezCHUQhQ4@public.gmane.org>
2015-03-08 17:45         ` Stephen Hemminger
2015-03-06  0:10   ` [PATCH v3 02/10] vmxnet3: enable VLAN filtering Stephen Hemminger
     [not found]     ` <1425600635-20628-3-git-send-email-stephen-OTpzqLSitTUnbdJkjeBofR2eb7JE58TQ@public.gmane.org>
2015-03-06 21:54       ` Yong Wang
2015-03-06  0:10   ` [PATCH v3 03/10] vmxnet3: remove mtu check Stephen Hemminger
2015-03-06  0:10   ` [PATCH v3 04/10] vmxnet3: cleanup txq stats Stephen Hemminger
2015-03-06  0:10   ` [PATCH v3 05/10] vmxnet3: add support for multi-segment transmit Stephen Hemminger
2015-03-06  0:10   ` [PATCH v3 06/10] vmxnet3: support RSS and refactor offload Stephen Hemminger
2015-03-06  0:10   ` [PATCH v3 07/10] vmxnet3: support jumbo frames Stephen Hemminger
     [not found]     ` <1425600635-20628-8-git-send-email-stephen-OTpzqLSitTUnbdJkjeBofR2eb7JE58TQ@public.gmane.org>
2015-03-09 23:28       ` Yong Wang
     [not found]         ` <D1237604.39F07%yongwang-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2015-03-09 23:32           ` Yong Wang
     [not found]             ` <D1237B72.39F61%yongwang-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2015-03-10 18:35               ` Stephen Hemminger [this message]
2015-03-11  1:03                 ` Yong Wang
     [not found]                 ` <4ebc1312d5cb42d583fb8a204c353feb@BRMWP-EXMB11.corp.brocade.com>
     [not found]                   ` <4ebc1312d5cb42d583fb8a204c353feb-sI283RzA5cMA50eAn2D9H4CDckiq/fhJZeezCHUQhQ4@public.gmane.org>
2015-03-11  6:54                     ` Stephen Hemminger
     [not found]     ` <9bc742bd1778468a815da8070b584ee7@BRMWP-EXMB11.corp.brocade.com>
     [not found]       ` <9bc742bd1778468a815da8070b584ee7-sI283RzA5cMA50eAn2D9H4CDckiq/fhJZeezCHUQhQ4@public.gmane.org>
2015-03-10  4:18         ` Stephen Hemminger
2015-03-06  0:10   ` [PATCH v3 08/10] vmxnet3: get rid of DEBUG ifdefs Stephen Hemminger
     [not found]     ` <1425600635-20628-9-git-send-email-stephen-OTpzqLSitTUnbdJkjeBofR2eb7JE58TQ@public.gmane.org>
2015-03-06 21:59       ` Yong Wang
2015-03-06  0:10   ` [PATCH v3 09/10] vmxnet3: add check for jumbo segment Stephen Hemminger
     [not found]     ` <1425600635-20628-10-git-send-email-stephen-OTpzqLSitTUnbdJkjeBofR2eb7JE58TQ@public.gmane.org>
2015-03-06 23:48       ` Yong Wang
2015-03-06  0:10   ` [PATCH v3 10/10] vmxnet3: remove excess inlining Stephen Hemminger
     [not found]     ` <1425600635-20628-11-git-send-email-stephen-OTpzqLSitTUnbdJkjeBofR2eb7JE58TQ@public.gmane.org>
2015-03-06 23:54       ` Yong Wang
     [not found]         ` <D11F7D7A.389BD%yongwang-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2015-03-07  2:00           ` Stephen Hemminger
2015-03-10 13:42   ` [PATCH v3 00/10] vmxnet3: multisegment and bugfixes Thomas Monjalon
2015-06-22 12:22     ` Thomas Monjalon
2015-07-08 23:21       ` Thomas Monjalon

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=20150310113559.4073f04f@urahara \
    --to=stephen-otpzqlsittunbdjkjebofr2eb7je58tq@public.gmane.org \
    --cc=dev-VfR2kkLFssw@public.gmane.org \
    --cc=shemming-43mecJUBy8ZBDgjK7y7TUQ@public.gmane.org \
    --cc=yongwang-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org \
    /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.