public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Rusty Russell <rusty@rustcorp.com.au>
To: mingo@elte.hu
To: linux-kernel@vger.kernel.org
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>,
	"David S. Miller" <davem@redhat.com>,
	Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
Subject: Re: [patch] severe softirq handling performance bug, fix, 2.4.5
Date: Sun, 10 Jun 2001 20:40:20 +1000	[thread overview]
Message-ID: <m1592do-001RQAC@mozart> (raw)
In-Reply-To: Your message of "Sat, 26 May 2001 19:59:28 +0200." <Pine.LNX.4.33.0105261920030.3336-200000@localhost.localdomain>

In message <Pine.LNX.4.33.0105261920030.3336-200000@localhost.localdomain> you 
write:
> i've been seeing really bad average TCP latencies on certain gigabit cards
> (~300-400 microseconds instead of the expected 100-200 microseconds), ever
> since softnet went into the main kernel, and never found a real
> explanation for it, until today.

The S/390 guys hit similar issues with the hotplug CPU patch, with
softirqs still pending on the downed CPU.

There are two cases when this happens:

(1) softirq's disabled when the interrupt came in.

(2) softirq scheduled within softirq, such as when networking is
    overloaded (net/core/dev.c's net_rx_action()).

Solving (2) is hard: the choices are to risk livelock (by resetting
the mask inside the softirq loop), or accept that bursty traffic may
have latencies of up to one timer tick.

Either way, we should solve (1) by checking in local_bh_enable() is
fine (despite Dave's reservations, and Alexey's "don't do that unless
you are about to schedule()" is obviously crap).  Then we can drop the
hackish checks inside schedule(), system calls returns and idle loops,
all of which were simply masking this problem.

Rusty.
--
Premature optmztion is rt of all evl. --DK

      parent reply	other threads:[~2001-06-10 11:52 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-05-26 17:59 [patch] severe softirq handling performance bug, fix, 2.4.5 Ingo Molnar
2001-05-26 19:33 ` [patch] softirq-2.4.5-A1 Ingo Molnar
2001-05-27 17:12   ` Andrea Arcangeli
2001-05-27 19:08     ` Ingo Molnar
2001-05-27 20:05       ` Andrea Arcangeli
2001-05-28  1:17         ` Horst von Brand
2001-05-26 23:55 ` [patch] severe softirq handling performance bug, fix, 2.4.5 David S. Miller
2001-05-27  3:28   ` Albert D. Cahalan
2001-05-27 17:18   ` Andrea Arcangeli
2001-05-27 19:00   ` [patch] softirq-2.4.5-B0 Ingo Molnar
2001-05-27 19:15     ` David S. Miller
2001-05-27 19:19       ` Ingo Molnar
2001-05-27 17:07 ` [patch] severe softirq handling performance bug, fix, 2.4.5 Andrea Arcangeli
2001-05-27 17:17   ` David S. Miller
2001-05-27 17:56     ` Andrea Arcangeli
2001-05-27 19:05       ` Ingo Molnar
2001-05-27 19:55         ` Andrea Arcangeli
2001-05-27 21:00           ` Ingo Molnar
2001-05-28 19:26             ` kuznet
2001-05-27 19:09       ` David S. Miller
2001-05-27 20:24         ` Andrea Arcangeli
2001-06-10 10:40 ` Rusty Russell [this message]

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=m1592do-001RQAC@mozart \
    --to=rusty@rustcorp.com.au \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=davem@redhat.com \
    --cc=kuznet@ms2.inr.ac.ru \
    --cc=mingo@elte.hu \
    /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