All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Galbraith <efault@gmx.de>
To: Kallol Biswas <Kallol_Biswas@pmc-sierra.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: process starvation with 2.6 scheduler
Date: Tue, 06 Jun 2006 10:01:58 +0200	[thread overview]
Message-ID: <1149580918.8455.85.camel@Homer.TheSimpsons.net> (raw)
In-Reply-To: <478F19F21671F04298A2116393EEC3D52741DC@sjc1exm08.pmc_nt.nt.pmc-sierra.bc.ca>

(please line wrap)

On Mon, 2006-06-05 at 12:48 -0700, Kallol Biswas wrote:
> Hello,
>        We have a process starvation problem with our 2.6.11 kernel running on a ppc-440 based system.
> 
> We have a storage SOC based on PPC-440. The SOC is emulated on a system emulator called Palladium. It is from Cadence. The system runs at 400KHz speed. It has three Ethernet ports; they are connected to outside lab network with a speed bridge.
> 
> The netperf server netserver runs on the emulated system (2.6.11 kernel on Palladium). There are netperf linux clients running on a x86 box.
> 
> If netperf request response (TCP_RR) traffic is run on all three ports; after sometime only one port remains active, the application (netperf client) on other two ports wait for a long time and eventually time out.
> 
> The netserver code has been instrumented. For one of the starved netserver processes it has been found that the TCP_RR request from the netperf client on linux x86 box has been received by the server, it has issued send() call to send back reply but send() never returns.
> 
> With an ICE connected to the Palladium (emulator) I have dumped the kernel data structures of the starved process and the active process. 
> 
> 
> For Active  Process:
>   Time_slice 84
>   Policy : SCHED_NORMAL
>   Dynamic priority: 118
>   Static priority: 120
>   Preempt_count: 0x20100
>   Flags = 0
>   State = 0 (TASK_RUNNING)
> 
> For Starved Process:
>   Time slice: 77
>   Policy: SCHED_NORMAL
>   Dynamic priority: 120
>   Static priority: 120
>   Preempt_count: 0x10000000 (PREEMPT_ACTIVE is set)
>   Flags = 0 
>   State = 0 (TASK_RUNNING)
> 
> Any help to debug the problem is welcome. 

I'm having difficulty understanding.  Are you saying that the "starved"
tasks are runnable, but receiving _zero_ cpu?  That's impossible with
only one other SCHED_NORMAL task afaik, which makes me think you may
mean they're not receiving cpu frequently enough to keep clients from
timing out?  One task which has slept enough to acquire interactive
status (as above) can hold others off the cpu for quite a while if it
starts a burst of heavy cpu burning.  If your netperf clients are
choking on this latency, running the servers at nice 19 should prevent
the problem.

	-Mike


  parent reply	other threads:[~2006-06-06  7:59 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-05 19:48 process starvation with 2.6 scheduler Kallol Biswas
2006-06-05 23:49 ` (no subject) Hack Sung Lee
2006-06-06  8:01 ` Mike Galbraith [this message]
2006-06-06 16:55   ` process starvation with 2.6 scheduler Stephen Hemminger
2006-06-05 20:36 Kallol Biswas
2006-06-05 20:46 Kallol Biswas
2006-06-05 21:30 Kallol Biswas
2006-06-05 23:05 Kallol Biswas
2006-06-06 17:09 ` Thiago Galesi
2006-06-05 23:09 Kallol Biswas
2006-06-06 17:55 Kallol Biswas
2006-06-06 18:51 Kallol Biswas
2006-06-06 21:58 Kallol Biswas
2006-06-07  5:27 ` Mike Galbraith
2006-06-13 23:03 Kallol Biswas
2006-06-14  5:13 ` Mike Galbraith
2006-06-14 17:56 Kallol Biswas
2006-06-14 19:26 ` Mike Galbraith

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=1149580918.8455.85.camel@Homer.TheSimpsons.net \
    --to=efault@gmx.de \
    --cc=Kallol_Biswas@pmc-sierra.com \
    --cc=linux-kernel@vger.kernel.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 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.