mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Robert Olsson <Robert.Olsson@data.slu.se>
To: Pasi Sjoholm <ptsjohol@cc.jyu.fi>
Cc: Robert Olsson <Robert.Olsson@data.slu.se>,
	Francois Romieu <romieu@fr.zoreil.com>,
	H?ctor Mart?n <hector@marcansoft.com>,
	Linux-Kernel <linux-kernel@vger.kernel.org>, <akpm@osdl.org>,
	<netdev@oss.sgi.com>, <brad@brad-x.com>, <shemminger@osdl.org>
Subject: Re: ksoftirqd uses 99% CPU triggered by network traffic (maybe RLT-8139 related)
Date: Tue, 27 Jul 2004 00:38:12 +0200	[thread overview]
Message-ID: <16645.34772.760879.146784@robur.slu.se> (raw)
In-Reply-To: <Pine.LNX.4.44.0407270028170.11416-100000@silmu.st.jyu.fi>


Pasi Sjoholm writes:

 > Hur är läget Robert?-)
   Tack bra!

 > >  In summary: High softirq loads can totally kill userland. The reason is that 
 > >  do_softirq() is run from many places hard interrupts, local_bh_enable etc 
 > >  and bypasses the ksoftirqd protection. It just been discussed at OLS with
 > >  Andrea and Dipankar and others. Current RCU suffers from this problem as well.
 > 
 > Ok, this explanation makes sense and my point of view I think this is 
 > quite critical problem if you can "crash" linux kernel just sending enough 
 > packets to network interface for an example.

 Well the packets also has to create hard softirq loads in practice this means route
 lookup or something else for normal traffic the RX_SOFIRQ is very well behaved
 and schedules itself to give other softirq's a chance to run also I'll guess you 
 have softirq's not only from the network. If you decrease your load a bit you come
 to more nomal operation?
 
 > I would be more than glad to help you in testing if you want to publish 
 > some patches. 

 Well maybe we should start to verify that this problem. Alexey did a litte program 
 doing gettimeofday to run to see how long user mode could be starved. Also note we 
 add new source of softirq's. 


#include <stdio.h> 
#include <sys/time.h>
#include <asm/types.h>

main()
{
	struct timeval tv, prev_tv;
	__s64 diff;
	__u32 i;
	__s32 maxlat = 50;

	  gettimeofday(&prev_tv, NULL);

	  printf("time control loop starting\n");

	  for (i=0;;i++) {
	      gettimeofday(&tv, NULL);
	      diff = (tv.tv_sec - prev_tv.tv_sec)*1000000 +
	             (tv.tv_usec - prev_tv.tv_usec);
	      if (diff > 1000000) 
		  printf("**%lld\n", diff);
	      prev_tv = tv;
	      if (diff > maxlat) {
		      maxlat = diff;
		      printf("new maxlat = %d\n", maxlat);
	      }
	      if(!(i % 1000000))
		      printf("timestamp diff = %lld, maxlat = %d\n", diff, maxlat);
	  }
}

Cheers.
							--ro


  reply	other threads:[~2004-07-26 22:38 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-07-24 21:05 ksoftirqd uses 99% CPU triggered by network traffic Héctor Martín
2004-07-24 23:27 ` Francois Romieu
2004-07-25  6:32   ` Héctor Martín
2004-07-25 20:27 ` ksoftirqd uses 99% CPU triggered by network traffic (maybe RLT-8139 related) Pasi Sjoholm
2004-07-25 21:59   ` Francois Romieu
2004-07-26 15:15     ` Pasi Sjoholm
2004-07-26 16:37       ` Robert Olsson
2004-07-26 21:46         ` Pasi Sjoholm
2004-07-26 22:38           ` Robert Olsson [this message]
2004-07-27  0:16             ` Pasi Sjoholm
2004-07-27 11:10               ` Robert Olsson
2004-07-27 14:20                 ` Pasi Sjoholm
2004-07-27 20:24                   ` Robert Olsson
2004-07-27 21:27                     ` Pasi Sjoholm
2004-07-28 18:35                       ` Robert Olsson
2004-07-28 19:09                         ` James Morris
2004-07-29  0:46                         ` Pasi Sjoholm
2004-07-30  9:18                           ` Robert Olsson
2004-07-30 12:56                             ` Pasi Sjoholm
2004-07-30 14:05                               ` Robert Olsson
2004-07-30 18:40                                 ` Pasi Sjoholm
2004-07-31 12:33                                   ` Francois Romieu
2004-08-02  9:57                                     ` Pasi Sjoholm
2004-08-02 10:03                                       ` Pasi Sjoholm
2004-08-02 22:35                                         ` Francois Romieu
2004-08-03 12:32                                           ` Pasi Sjoholm
2004-08-03 16:50                                             ` Francois Romieu
2004-08-03 20:19                                               ` Pasi Sjoholm
2004-08-04 16:26                                                 ` Pasi Sjoholm
2004-08-05 10:14                                                   ` Hector Martin
2004-08-05 10:55                                                     ` Hector Martin
2004-08-05 11:22                                                       ` Francois Romieu
2004-08-05 15:28                                                         ` OGAWA Hirofumi
2004-08-05 17:21                                                           ` Francois Romieu
2004-07-30 14:12                               ` Robert Olsson
2004-07-26 16:55       ` Stephen Hemminger
2004-07-26 21:28         ` Pasi Sjoholm
     [not found] <41041DED.2010609@cox.net>
2004-07-25 21:18 ` Pasi Sjoholm
     [not found] <4104257C.3080102@cox.net>
2004-07-25 21:42 ` Pasi Sjoholm
2004-07-25 22:31   ` Andrew Morton

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=16645.34772.760879.146784@robur.slu.se \
    --to=robert.olsson@data.slu.se \
    --cc=akpm@osdl.org \
    --cc=brad@brad-x.com \
    --cc=hector@marcansoft.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@oss.sgi.com \
    --cc=ptsjohol@cc.jyu.fi \
    --cc=romieu@fr.zoreil.com \
    --cc=shemminger@osdl.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®