From: Jeff Garzik <jgarzik@pobox.com>
To: hadi@cyberus.ca
Cc: Tommy Christensen <tommy.christensen@tpack.net>,
Thomas Spatzier <thomas.spatzier@de.ibm.com>,
"David S. Miller" <davem@davemloft.net>,
Hasso Tepper <hasso@estpak.ee>,
Herbert Xu <herbert@gondor.apana.org.au>,
netdev@oss.sgi.com, Paul Jakma <paul@clubi.ie>
Subject: Re: [patch 4/10] s390: network driver.
Date: Mon, 20 Dec 2004 13:54:53 -0500 [thread overview]
Message-ID: <41C71FFD.7090308@pobox.com> (raw)
In-Reply-To: <1103551830.1047.316.camel@jzny.localdomain>
jamal wrote:
> I beginuing to think thats the simplest way to achieve this: i.e not to
> stop the queue but rather to let the packets continue showing up and
> drop them at the driver when the link is down . The netlink async
> carrier signal to the app is to be used to reroute instead of being a
> signal to flush buffers. In other words the other Thomas got it right
> (with the exception of setting the IFF_RUNNIGN flags)
>
> Jeff?
I haven't heard anything to convince me that the same change should be
deployed across NNN drivers. The drivers already signal the net core
that the link is down; to me, that implies there should be code in _one_
place that handles this condition, not NNN places.
Further,
* if this policy ("drop them in the driver") ever changes, we must again
touch NNN drivers
* dropping them in the driver but not stopping the queue means that the
system is allowed to continue to stream data into the driver, only for
the driver to free it. That will scale -- right up to (worst case) 100%
CPU, with userland sending packets as fast as it can, and the driver
dropping packets as fast as it can. The only places the net stack
currently checks carrier is dev_get_flags() and dev_watchdog().
* If you need a hook to flush the in-hardware buffers, add such a hook.
Don't hack it in like this. Yeah, adding a hook touches NNN drivers
but at least the hook is far more self-contained, it's semantics will be
more clear, and it will increase the likelihood that the driver changes
do not affect the hot path nor current netif_{start,stop}_queue() logic.
Jeff
next prev parent reply other threads:[~2004-12-20 18:54 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <OF88EC0E9F.DE8FC278-ONC1256F4A.0038D5C0-C1256F4A.00398E11@de.ibm.com>
2004-11-14 1:29 ` [patch 4/10] s390: network driver Jeff Garzik
2004-11-15 7:52 ` Paul Jakma
2004-11-21 8:16 ` Paul Jakma
2004-11-29 15:57 ` Thomas Spatzier
2004-11-29 16:30 ` Paul Jakma
2004-11-29 16:41 ` Thomas Spatzier
2004-11-29 20:27 ` Paul Jakma
2004-11-30 7:22 ` Thomas Spatzier
2004-12-05 6:25 ` Paul Jakma
2004-12-06 11:01 ` Post Network dev questions to netdev Please WAS(Re: " jamal
2004-12-06 11:27 ` jamal
2004-12-06 14:42 ` Hasso Tepper
2004-12-07 1:13 ` Herbert Xu
2004-12-07 2:22 ` jamal
2004-12-10 15:37 ` Paul Jakma
2004-12-14 7:40 ` Thomas Spatzier
2004-12-15 13:50 ` jamal
2004-12-15 15:03 ` Thomas Spatzier
2004-12-19 19:29 ` jamal
2004-12-19 22:29 ` Tommy Christensen
2004-12-19 23:05 ` jamal
2004-12-19 23:46 ` Tommy Christensen
2004-12-20 0:15 ` Jeff Garzik
2004-12-20 14:10 ` jamal
2004-12-20 18:54 ` Jeff Garzik [this message]
2004-12-21 0:13 ` Tommy Christensen
2004-12-21 1:19 ` Jeff Garzik
2004-12-22 10:56 ` Thomas Spatzier
2004-12-22 11:07 ` Jeff Garzik
2004-12-22 13:48 ` jamal
2005-01-03 9:10 ` Thomas Spatzier
2005-01-03 15:05 ` jamal
2005-01-04 23:28 ` Jeff Garzik
2005-01-05 3:19 ` jamal
2005-01-05 6:30 ` Paul Jakma
2005-01-05 13:16 ` jamal
2005-01-05 14:29 ` Paul Jakma
2005-01-06 13:55 ` jamal
2005-01-05 15:35 ` Tommy Christensen
2005-01-06 13:58 ` jamal
2005-01-06 15:06 ` Tommy Christensen
2005-01-07 13:32 ` jamal
2005-01-07 15:26 ` Tommy Christensen
2005-01-10 13:18 ` jamal
2005-01-16 23:10 ` jamal
2005-01-17 12:04 ` Hasso Tepper
2005-01-17 22:04 ` Tommy Christensen
2005-01-17 22:13 ` Peter Buckingham
2005-01-17 22:36 ` jamal
2005-01-17 22:53 ` Tommy Christensen
2005-01-17 21:38 ` Tommy Christensen
2005-01-30 23:39 ` Tommy Christensen
2005-01-31 0:09 ` jamal
2005-01-31 0:12 ` jamal
2005-01-31 0:31 ` Tommy Christensen
2005-01-31 3:26 ` jamal
2005-01-31 12:16 ` Tommy Christensen
2005-03-13 17:49 ` Hasso Tepper
2005-01-05 6:26 ` Paul Jakma
2004-12-20 14:16 ` Paul Jakma
2004-12-20 18:56 ` Jeff Garzik
2004-12-26 5:36 ` Herbert Xu
2004-12-19 22:43 ` Jeff Garzik
2004-12-19 23:54 ` Paul Jakma
2004-12-20 14:11 ` jamal
2004-12-07 2:39 ` jamal
2004-12-06 18:44 ` Paul Jakma
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=41C71FFD.7090308@pobox.com \
--to=jgarzik@pobox.com \
--cc=davem@davemloft.net \
--cc=hadi@cyberus.ca \
--cc=hasso@estpak.ee \
--cc=herbert@gondor.apana.org.au \
--cc=netdev@oss.sgi.com \
--cc=paul@clubi.ie \
--cc=thomas.spatzier@de.ibm.com \
--cc=tommy.christensen@tpack.net \
/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;
as well as URLs for NNTP newsgroup(s).