From: jamal <hadi@cyberus.ca>
To: Stephen Hemminger <shemminger@linux-foundation.org>
Cc: johnpol@2ka.mipt.ru, kumarkr@linux.ibm.com,
herbert@gondor.apana.org.au, gaagaan@gmail.com,
Robert.Olsson@data.slu.se, netdev@vger.kernel.org,
rdreier@cisco.com, "Waskiewicz Jr,
Peter P" <peter.p.waskiewicz.jr@intel.com>,
mcarlson@broadcom.com, kaber@trash.net, randy.dunlap@oracle.com,
jagana@us.ibm.com, general@lists.openfabrics.org,
mchan@broadcom.com, tgraf@suug.ch, jeff@garzik.org,
sri@us.ibm.com, David Miller <davem@davemloft.net>
Subject: [ofa-general] Re: [PATCH 1/4] [NET_SCHED] explict hold dev tx lock
Date: Tue, 25 Sep 2007 18:14:51 -0400 [thread overview]
Message-ID: <1190758491.4244.15.camel@localhost> (raw)
In-Reply-To: <20070925082457.6fec30d6@freepuppy.rosehill>
On Tue, 2007-25-09 at 08:24 -0700, Stephen Hemminger wrote:
> The transmit code path is locked as a code region, rather than just object locking
> on the transmit queue or other fine grained object. This leads to moderately long
> lock hold times when multiple qdisc's and classification is being done.
It will be pretty tricky to optimize that path given the dependencies
between the queues, classifiers, and actions in enqueues; schedulers in
dequeues as well as their config/queries from user space which could
happen concurently on all "N" CPUs.
The txlock optimization i added in patch1 intends to let go of the queue
lock when we enter the dequeue region sooner to reduce the contention.
A further optimization i made was to reduce the time it takes to hold
the tx lock at the driver by moving gunk that doesnt need lock-holding
into the new method dev->hard_end_xmit() (refer to patch #2)
> If we went to finer grain locking it would also mean changes to all network
> devices using the new locking model. My assumption is that we would use
> something like the features flag to do the transition for backward compatibility.
> Take this as a purely "what if" or "it would be nice if" kind of suggestion
> not a requirement or some grand plan.
Ok, hopefully someone would demonstrate how to achieve it; seems a hard
thing to achieve.
cheers,
jamal
next prev parent reply other threads:[~2007-09-25 22:14 UTC|newest]
Thread overview: 102+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-14 9:00 [PATCH 0/10 REV5] Implement skb batching and support in IPoIB/E1000 Krishna Kumar
2007-09-14 9:01 ` [PATCH 1/10 REV5] [Doc] HOWTO Documentation for batching Krishna Kumar
2007-09-14 18:37 ` [ofa-general] " Randy Dunlap
2007-09-17 4:10 ` Krishna Kumar2
2007-09-17 4:13 ` [ofa-general] " Jeff Garzik
2007-09-14 9:01 ` [PATCH 2/10 REV5] [core] Add skb_blist & support " Krishna Kumar
2007-09-14 12:46 ` [ofa-general] " Evgeniy Polyakov
2007-09-17 3:51 ` Krishna Kumar2
2007-09-14 9:01 ` [PATCH 3/10 REV5] [sched] Modify qdisc_run to support batching Krishna Kumar
2007-09-14 12:15 ` [ofa-general] " Evgeniy Polyakov
2007-09-17 3:49 ` Krishna Kumar2
2007-09-14 9:02 ` [PATCH 4/10 REV5] [ethtool] Add ethtool support Krishna Kumar
2007-09-14 9:02 ` [PATCH 5/10 REV5] [IPoIB] Header file changes Krishna Kumar
2007-09-14 9:03 ` [PATCH 6/10 REV5] [IPoIB] CM & Multicast changes Krishna Kumar
2007-09-14 9:03 ` [PATCH 7/10 REV5] [IPoIB] Verbs changes Krishna Kumar
2007-09-14 9:03 ` [PATCH 8/10 REV5] [IPoIB] Post and work completion handler changes Krishna Kumar
2007-09-14 9:04 ` [PATCH 9/10 REV5] [IPoIB] Implement batching Krishna Kumar
2007-09-14 9:04 ` [PATCH 10/10 REV5] [E1000] " Krishna Kumar
2007-09-14 12:47 ` [ofa-general] " Evgeniy Polyakov
2007-09-17 3:56 ` Krishna Kumar2
2007-11-13 21:28 ` [ofa-general] " Kok, Auke
2007-11-14 8:30 ` Krishna Kumar2
2007-09-14 12:49 ` [ofa-general] Re: [PATCH 0/10 REV5] Implement skb batching and support in IPoIB/E1000 Evgeniy Polyakov
2007-09-16 23:17 ` David Miller
2007-09-17 0:29 ` jamal
2007-09-17 1:02 ` David Miller
2007-09-17 2:14 ` [ofa-general] " jamal
2007-09-17 2:25 ` David Miller
2007-09-17 3:01 ` jamal
2007-09-17 3:13 ` David Miller
2007-09-17 12:51 ` jamal
2007-09-17 16:37 ` [ofa-general] " David Miller
2007-09-17 4:46 ` Krishna Kumar2
2007-09-23 17:53 ` [PATCHES] TX batching jamal
2007-09-23 17:56 ` [ofa-general] [PATCH 1/4] [NET_SCHED] explict hold dev tx lock jamal
2007-09-23 17:58 ` [ofa-general] [PATCH 2/4] [NET_BATCH] Introduce batching interface jamal
2007-09-23 18:00 ` [PATCH 3/4][NET_BATCH] net core use batching jamal
2007-09-23 18:02 ` [ofa-general] [PATCH 4/4][NET_SCHED] kill dev->gso_skb jamal
2007-09-30 18:53 ` [ofa-general] [PATCH 3/3][NET_SCHED] " jamal
2007-10-07 18:39 ` [ofa-general] [PATCH 3/3][NET_BATCH] " jamal
2007-09-30 18:52 ` [ofa-general] [PATCH 2/3][NET_BATCH] net core use batching jamal
2007-10-01 4:11 ` Bill Fink
2007-10-01 13:30 ` jamal
2007-10-02 4:25 ` [ofa-general] " Bill Fink
2007-10-02 13:20 ` jamal
2007-10-03 5:29 ` [ofa-general] " Bill Fink
2007-10-03 13:42 ` jamal
2007-10-01 10:42 ` [ofa-general] " Patrick McHardy
2007-10-01 13:21 ` jamal
2007-10-08 5:03 ` Krishna Kumar2
2007-10-08 13:17 ` jamal
2007-10-09 3:09 ` [ofa-general] " Krishna Kumar2
2007-10-09 13:10 ` jamal
2007-10-07 18:38 ` [ofa-general] " jamal
2007-09-30 18:51 ` [ofa-general] [PATCH 1/4] [NET_BATCH] Introduce batching interface jamal
2007-09-30 18:54 ` [ofa-general] Re: [PATCH 1/3] " jamal
2007-10-07 18:36 ` [ofa-general] " jamal
2007-10-08 9:59 ` Krishna Kumar2
2007-10-08 13:49 ` jamal
2007-09-24 19:12 ` [ofa-general] RE: [PATCH 1/4] [NET_SCHED] explict hold dev tx lock Waskiewicz Jr, Peter P
2007-09-24 22:51 ` jamal
2007-09-24 22:57 ` Waskiewicz Jr, Peter P
2007-09-24 23:38 ` [ofa-general] " jamal
2007-09-24 23:47 ` Waskiewicz Jr, Peter P
2007-09-25 0:14 ` [ofa-general] " Stephen Hemminger
2007-09-25 0:31 ` [ofa-general] " Waskiewicz Jr, Peter P
2007-09-25 13:15 ` [ofa-general] " jamal
2007-09-25 15:24 ` Stephen Hemminger
2007-09-25 22:14 ` jamal [this message]
2007-09-25 22:43 ` jamal
2007-09-25 13:08 ` [ofa-general] " jamal
2007-10-08 4:51 ` [ofa-general] " David Miller
2007-10-08 13:34 ` jamal
2007-10-08 14:22 ` parallel networking (was Re: [PATCH 1/4] [NET_SCHED] explict hold dev tx lock) Jeff Garzik
2007-10-08 15:18 ` [ofa-general] " jamal
2007-10-08 21:11 ` [ofa-general] Re: parallel networking David Miller
2007-10-08 22:30 ` jamal
2007-10-08 22:33 ` David Miller
2007-10-08 22:35 ` [ofa-general] " Waskiewicz Jr, Peter P
2007-10-08 23:42 ` [ofa-general] " jamal
2007-10-09 1:53 ` Jeff Garzik
2007-10-09 14:59 ` Michael Krause
2007-10-08 21:05 ` [PATCH 1/4] [NET_SCHED] explict hold dev tx lock David Miller
2007-09-23 18:19 ` [PATCHES] TX batching Jeff Garzik
2007-09-23 19:11 ` [ofa-general] " jamal
2007-09-23 19:36 ` Kok, Auke
2007-09-23 21:20 ` jamal
2007-09-24 7:00 ` Kok, Auke
2007-09-24 22:38 ` jamal
2007-09-24 22:52 ` [ofa-general] " Kok, Auke
2007-09-24 22:54 ` [DOC] Net batching driver howto jamal
2007-09-25 20:16 ` [ofa-general] " Randy Dunlap
2007-09-25 22:28 ` jamal
2007-09-25 0:15 ` [PATCHES] TX batching Jeff Garzik
2007-09-30 18:50 ` [ofa-general] " jamal
2007-09-30 19:19 ` [ofa-general] " jamal
2007-10-07 18:34 ` [ofa-general] " jamal
2007-10-08 12:51 ` [ofa-general] " Evgeniy Polyakov
2007-10-08 14:05 ` jamal
2007-10-09 8:14 ` Krishna Kumar2
2007-10-09 13:25 ` jamal
2007-09-17 4:08 ` [PATCH 0/10 REV5] Implement skb batching and support in IPoIB/E1000 Krishna Kumar2
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=1190758491.4244.15.camel@localhost \
--to=hadi@cyberus.ca \
--cc=Robert.Olsson@data.slu.se \
--cc=davem@davemloft.net \
--cc=gaagaan@gmail.com \
--cc=general@lists.openfabrics.org \
--cc=herbert@gondor.apana.org.au \
--cc=jagana@us.ibm.com \
--cc=jeff@garzik.org \
--cc=johnpol@2ka.mipt.ru \
--cc=kaber@trash.net \
--cc=kumarkr@linux.ibm.com \
--cc=mcarlson@broadcom.com \
--cc=mchan@broadcom.com \
--cc=netdev@vger.kernel.org \
--cc=peter.p.waskiewicz.jr@intel.com \
--cc=randy.dunlap@oracle.com \
--cc=rdreier@cisco.com \
--cc=shemminger@linux-foundation.org \
--cc=sri@us.ibm.com \
--cc=tgraf@suug.ch \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox