From: raz ben yehuda <raziebe@gmail.com>
To: Chris Friesen <cfriesen@nortel.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
mingo@elte.hu, peterz@infradead.org, maximlevitsky@gmail.com,
efault@gmx.de, riel@redhat.com, wiseman@macs.biu.ac.il,
linux-kernel@vger.kernel.org, linux-rt-users@vger.kernel.org
Subject: Re: RFC: THE OFFLINE SCHEDULER
Date: Fri, 28 Aug 2009 00:33:05 +0300 [thread overview]
Message-ID: <1251408785.3700.22.camel@raz> (raw)
In-Reply-To: <4A96B997.1070001@nortel.com>
On Thu, 2009-08-27 at 10:51 -0600, Chris Friesen wrote:
> On 08/26/2009 03:37 PM, raz ben yehuda wrote:
> >
> > On Wed, 2009-08-26 at 15:15 -0600, Chris Friesen wrote:
>
> >> We gave it as close to a whole cpu as we could using cpu and irq
> >> affinity and we used message queues in shared memory to allow another
> >> cpu to handle I/O. In our case we still had kernel threads running on
> >> the app cpu, but if we'd had a straightforward way to avoid them we
> >> would have used it.
>
> > Chris. I offer myself to help anyone wishes to apply OFFSCHED.
>
> I just went and read the docs. One of the things I noticed is that it
> says that the offlined cpu cannot run userspace tasks. For our
> situation that's a showstopper, unfortunately.
Given that your entire software is T size , and T' is the amount of real
time size, what is the relation T'/T ?
If T'/T << 1 then dissect it, and put the T' in OFFSCHED.
My software T's is about 100MB while the real time section is about 60K.
They communicate through a simple ioctls.
CPU isolation example: a transmission engine.
In the image bellow, I am presenting 4 streaming engines, over 4 Intels
82598EB 10Gbps. A streaming engine is actually a Xeon E5420 2.5GHz.
Each engine has ***full control*** over its own interface. So you can:
1. fully control the processor's usage.
2. know **exactly*** how much each single packet transmission costs. for
example, in this case in processor 3 a single packet average
transmission is 1974tscs, which is ~700ns.
3. know how many packets fails to transmit right **on time** ( the Lates
counter) . and on time in this case means within the 122us jitter.
4. There are 8 cores in this machine. The rest 4 OS cores are ~95% idle.
The only resource these cores share is the bus.
State: kstreamer UP. Started at October 05 05:19:51
******************************************************
CPU 3,63% usage,Sessions 1499,6124301 kbps
CPU 5,77% usage,Sessions 1499,6123859 kbps
CPU 6,78% usage,Sessions 1498,6123709 kbps
CPU 7,73% usage,Sessions 1498,6117766 kbps
Summary: Throughput=24.489Gbps Sessions =5994
******************************************************
Streaming Processor 3
Tx Count : Tot=399990164 Good=399990164 Bad=0 ERR=0(LOC=0,FULL=0)
Time : GoodSendTsc( Max 1565895 Avg 1974) Lates=649
Flow Errors : Underflow (0,0) NotResched=0 GenErr=0
Sessions : Cur 1499(RTP=1499,UDP=0,MCAST=0,ENCRYPT=0) PAUSED=0
CPU : 63% usage
Queue : Max Size 92 Avg 69 Csc=79
Throughput (bps) : Tot 6271285040 MPEG 5988905440
Throughput (Mbps): Tot Mbps 6271 MPEG Mbps 5988
Throughput : Packets/sec 568855
Streaming Processor 5
Tx Count : Tot=399944597 Good=399944595 Bad=2 ERR=2(LOC=0,FULL=2)
Time : GoodSendTsc( Max 1566052 Avg 2464) Lates=5521
Flow Errors : Underflow (0,0) NotResched=0 GenErr=0
Sessions : Cur 1499(RTP=1499,UDP=0,MCAST=0,ENCRYPT=0) PAUSED=0
CPU : 77% usage
Queue : Max Size 95 Avg 69 Csc=79
Throughput (bps) : Tot 6270832416 MPEG 5988473792
Throughput (Mbps): Tot Mbps 6270 MPEG Mbps 5988
Throughput : Packets/sec 568814
Streaming Processor 6
Tx Count : Tot=399898586 Good=399898585 Bad=0 ERR=0(LOC=0,FULL=0)
Time : GoodSendTsc( Max 1661385 Avg 2474) Lates=8064
Flow Errors : Underflow (0,0) NotResched=0 GenErr=0
Sessions : Cur 1498(RTP=1498,UDP=0,MCAST=0,ENCRYPT=0) PAUSED=0
CPU : 78% usage
Queue : Max Size 91 Avg 69 Csc=87
Throughput (bps) : Tot 6270678560 MPEG 5988326400
Throughput (Mbps): Tot Mbps 6270 MPEG Mbps 5988
Throughput : Packets/sec 568800
Streaming Processor 7
Tx Count : Tot=399845166 Good=399845100 Bad=66
ERR=66(LOC=0,FULL=66)
Time : GoodSendTsc( Max 2962620 Avg 2377) Lates=42626
Flow Errors : Underflow (0,0) NotResched=0 GenErr=0
Sessions : Cur 1498(RTP=1498,UDP=0,MCAST=0,ENCRYPT=0) PAUSED=0
CPU : 73% usage
Queue : Max Size 94 Avg 69 Csc=66
Throughput (bps) : Tot 6264592672 MPEG 5982514944
Throughput (Mbps): Tot Mbps 6264 MPEG Mbps 5982
Throughput : Packets/sec 568248
--------------- Reservation Load Balancer ------------------
eth2 : 5994501 kbps
eth3 : 5994501 kbps
eth4 : 5990502 kbps
eth5 : 5990502 kbps
> Chris
>
next prev parent reply other threads:[~2009-08-27 21:33 UTC|newest]
Thread overview: 85+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-22 23:27 RFC: THE OFFLINE SCHEDULER raz ben yehuda
2009-08-23 5:21 ` Mike Galbraith
2009-08-23 9:09 ` raz ben yehuda
2009-08-23 7:30 ` Mike Galbraith
2009-08-23 11:05 ` raz ben yehuda
2009-08-23 9:52 ` Mike Galbraith
2009-08-25 15:23 ` Christoph Lameter
2009-08-25 17:56 ` Mike Galbraith
2009-08-25 18:03 ` Christoph Lameter
2009-08-25 18:12 ` Mike Galbraith
[not found] ` <5d96567b0908251522m3fd4ab98n76a52a34a11e874c@mail.gmail.com>
2009-08-25 22:32 ` Fwd: " Raz
2009-08-25 19:08 ` Peter Zijlstra
2009-08-25 19:18 ` Christoph Lameter
2009-08-25 19:22 ` Chris Friesen
2009-08-25 20:35 ` Sven-Thorsten Dietrich
2009-08-26 5:31 ` Peter Zijlstra
2009-08-26 10:29 ` raz ben yehuda
2009-08-26 8:02 ` Mike Galbraith
2009-08-26 8:16 ` Raz
2009-08-26 8:16 ` Raz
2009-08-26 13:47 ` Christoph Lameter
2009-08-26 14:45 ` Maxim Levitsky
2009-08-26 14:54 ` raz ben yehuda
2009-08-26 15:06 ` Pekka Enberg
2009-08-26 15:11 ` raz ben yehuda
2009-08-26 15:30 ` Peter Zijlstra
2009-08-26 15:41 ` Christoph Lameter
2009-08-26 16:03 ` Peter Zijlstra
2009-08-26 16:16 ` Pekka Enberg
2009-08-26 16:20 ` Christoph Lameter
2009-08-26 18:04 ` Ingo Molnar
2009-08-26 19:15 ` Christoph Lameter
2009-08-26 19:32 ` Ingo Molnar
2009-08-26 20:40 ` Christoph Lameter
2009-08-26 20:50 ` Andrew Morton
2009-08-26 21:09 ` Christoph Lameter
2009-08-26 21:15 ` Chris Friesen
2009-08-26 21:37 ` raz ben yehuda
2009-08-27 16:51 ` Chris Friesen
2009-08-27 17:04 ` Christoph Lameter
2009-08-27 21:09 ` Thomas Gleixner
2009-08-27 22:22 ` Gregory Haskins
2009-08-28 2:15 ` Rik van Riel
2009-08-28 3:33 ` Gregory Haskins
2009-08-28 3:33 ` Gregory Haskins
2009-08-28 4:27 ` Gregory Haskins
2009-08-28 4:27 ` Gregory Haskins
2009-08-28 10:26 ` Thomas Gleixner
2009-08-28 18:57 ` Christoph Lameter
2009-08-28 19:23 ` Thomas Gleixner
2009-08-28 19:52 ` Christoph Lameter
2009-08-28 20:00 ` Thomas Gleixner
2009-08-28 20:21 ` Christoph Lameter
2009-08-28 20:34 ` Thomas Gleixner
2009-08-31 19:19 ` Christoph Lameter
2009-08-31 17:44 ` Roland Dreier
2009-09-01 18:42 ` Christoph Lameter
2009-09-01 16:15 ` Roland Dreier
2009-08-29 17:03 ` jim owens
2009-08-31 19:22 ` Christoph Lameter
2009-08-31 15:33 ` Peter Zijlstra
2009-09-01 18:46 ` Christoph Lameter
2009-08-28 6:14 ` Peter Zijlstra
2009-08-27 23:51 ` Chris Friesen
2009-08-28 0:44 ` Thomas Gleixner
2009-08-28 21:20 ` Chris Friesen
2009-08-28 21:20 ` Chris Friesen
2009-08-28 18:43 ` Christoph Lameter
2009-08-27 21:33 ` raz ben yehuda [this message]
2009-08-27 22:05 ` Thomas Gleixner
2009-08-28 8:38 ` raz ben yehuda
2009-08-28 10:05 ` Thomas Gleixner
2009-08-28 13:25 ` Rik van Riel
2009-08-28 13:37 ` jim owens
2009-08-28 15:22 ` raz ben yehuda
2009-08-26 21:34 ` Ingo Molnar
2009-08-27 2:55 ` Frank Ch. Eigler
2009-08-26 21:34 ` raz ben yehuda
2009-08-26 21:08 ` Ingo Molnar
2009-08-26 21:26 ` Christoph Lameter
2009-08-26 21:32 ` raz ben yehuda
2009-08-27 7:15 ` Mike Galbraith
2009-08-26 15:37 ` Chetan.Loke
2009-08-26 15:21 ` Pekka Enberg
2009-08-25 21:09 ` Éric Piel
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=1251408785.3700.22.camel@raz \
--to=raziebe@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=cfriesen@nortel.com \
--cc=efault@gmx.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rt-users@vger.kernel.org \
--cc=maximlevitsky@gmail.com \
--cc=mingo@elte.hu \
--cc=peterz@infradead.org \
--cc=riel@redhat.com \
--cc=wiseman@macs.biu.ac.il \
/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.