From: jamal <hadi@cyberus.ca>
To: Matt Carlson <mcarlson@broadcom.com>
Cc: Robert Olsson <Robert.Olsson@data.slu.se>,
Evgeniy Polyakov <johnpol@2ka.mipt.ru>,
Krishna Kumar2 <krkumar2@in.ibm.com>,
Gagan Arneja <gaagaan@gmail.com>,
netdev@vger.kernel.org, Rick Jones <rick.jones2@hp.com>,
Sridhar Samudrala <sri@us.ibm.com>,
David Miller <davem@davemloft.net>, Jeff Garzik <jeff@garzik.org>,
Michael Chan <mchan@broadcom.com>
Subject: Re: [WIP][PATCHES] Network xmit batching - tg3 support
Date: Tue, 03 Jul 2007 09:09:48 -0400 [thread overview]
Message-ID: <1183468188.5159.73.camel@localhost> (raw)
In-Reply-To: <1183411245.6609.16.camel@teletran1>
On Mon, 2007-02-07 at 14:20 -0700, Matt Carlson wrote:
>
> Hi Jamal. I'll be testing your patch soon,
much thanks. Please let me know if you need help while doing this.
What tools are you planning to test with? I have tested this patch
with pktgen on a dual opteron/tg3-buggy.
There is an outstanding issue in regards to clocksource - however the
batch does well regardless of the clock source.
> but I wanted to point out a
> bug in the patch. The patch defines TG3_SKB_CB() as follows :
>
> #define TG3_SKB_CB(__skb) ((struct tg3_tx_cbdata *)&((__skb)->cb[0]))
>
> This definition will collide with the VLAN macros if TG3_VLAN_TAG_USED
> is set. vlan_tx_tag_get() is defined as :
>
> #define vlan_tx_tag_get(__skb) (VLAN_TX_SKB_CB(__skb)->vlan_tag)
>
> VLAN_TX_SKB_CB is defined as :
>
> #define VLAN_TX_SKB_CB(__skb) \
> ((struct vlan_skb_tx_cookie *)&((__skb)->cb[0]))
>
yikes. Thanks for catching that - I thought i had this pretty much
covered after scanning the source. So that bug exists on the e1000 as
well.
[It sounds very dangerous to me the way skb->cb is being used by the
vlan code (i.e requires human intervention/knowledge to catch it as an
issue). I had no freaking idea the vlan code was using it. Maybe a huge
comment somewhere on how these cbs are being used by drivers would help
or even a registration on startup to just make sure there is no conflict
at a layer (i have been meaning to do the later for years now). In any
case this is is a digression].
In the meantime, changing it to use byte 8 and above should do it? i.e.
#define TG3_SKB_CB(__skb) ((struct tg3_tx_cbdata *)&((__skb)->cb[8]))
There are 48 bytes there on the skb-cb, so there should be plenty.
> Also, I think the count, max_per_txd, and nr_frags fields of the
> tg3_tx_cbdata struct are not needed.
Yes, you are right. That was a result of the LinuxWay(tm) (aka cutnpaste
from the e1000 which needs them), Can you send me a patch for that and
TG3_SKB_CB?
cheers,
jamal
next prev parent reply other threads:[~2007-07-03 13:09 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-06 13:49 [WIP][PATCHES] Network xmit batching jamal
2007-06-07 6:16 ` Krishna Kumar2
2007-06-07 11:43 ` jamal
2007-06-07 16:13 ` Evgeniy Polyakov
2007-06-07 22:23 ` jamal
2007-06-08 8:38 ` Evgeniy Polyakov
2007-06-08 11:31 ` jamal
2007-06-08 12:09 ` Evgeniy Polyakov
2007-06-08 13:07 ` jamal
2007-06-08 21:02 ` Evgeniy Polyakov
2007-06-08 5:05 ` Krishna Kumar2
2007-06-19 13:21 ` Evgeniy Polyakov
2007-06-19 13:33 ` Evgeniy Polyakov
2007-06-19 14:00 ` Evgeniy Polyakov
2007-06-19 14:09 ` Evgeniy Polyakov
2007-06-19 16:32 ` jamal
2007-06-19 16:44 ` Evgeniy Polyakov
2007-06-19 16:28 ` jamal
2007-06-19 16:35 ` Evgeniy Polyakov
2007-06-19 16:45 ` Evgeniy Polyakov
2007-06-19 17:35 ` Robert Olsson
2007-06-19 17:48 ` jamal
2007-06-19 17:55 ` Evgeniy Polyakov
2007-06-28 0:05 ` [WIP][PATCHES] Network xmit batching - tg3 support jamal
2007-07-02 21:20 ` Matt Carlson
2007-07-03 0:21 ` Michael Chan
2007-07-03 13:26 ` jamal
2007-07-04 4:19 ` Krishna Kumar2
2007-07-04 13:22 ` jamal
2007-07-03 13:09 ` jamal [this message]
2007-07-03 19:31 ` Matt Carlson
2007-07-04 1:59 ` jamal
2007-07-03 21:30 ` David Miller
2007-06-19 22:28 ` [WIP][PATCHES] Network xmit batching David Miller
2007-06-21 15:54 ` FSCKED clock sources WAS(Re: " jamal
2007-06-21 16:08 ` jamal
2007-06-21 16:55 ` Benjamin LaHaise
2007-06-25 16:59 ` jamal
2007-06-25 17:08 ` Benjamin LaHaise
2007-06-25 17:16 ` jamal
2007-06-21 16:45 ` Evgeniy Polyakov
2007-06-25 16:58 ` jamal
2007-06-19 16:24 ` jamal
2007-06-21 21:00 ` Rick Jones
2007-06-22 9:59 ` Evgeniy Polyakov
2007-06-25 17:35 ` Rick Jones
2007-06-07 8:42 ` Krishna Kumar2
2007-06-07 12:16 ` jamal
2007-06-08 5:06 ` Krishna Kumar2
2007-06-08 11:14 ` jamal
2007-06-08 11:31 ` Krishna Kumar2
2007-06-08 11:43 ` jamal
2007-06-08 18:00 ` Rick Jones
2007-06-08 17:27 ` Rick Jones
2007-06-09 0:17 ` jamal
2007-06-09 0:40 ` Rick Jones
2007-06-07 22:42 ` jamal
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=1183468188.5159.73.camel@localhost \
--to=hadi@cyberus.ca \
--cc=Robert.Olsson@data.slu.se \
--cc=davem@davemloft.net \
--cc=gaagaan@gmail.com \
--cc=jeff@garzik.org \
--cc=johnpol@2ka.mipt.ru \
--cc=krkumar2@in.ibm.com \
--cc=mcarlson@broadcom.com \
--cc=mchan@broadcom.com \
--cc=netdev@vger.kernel.org \
--cc=rick.jones2@hp.com \
--cc=sri@us.ibm.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.