From: Gilboa Davara <gilboad@gmail.com>
To: LKML Linux Kernel <linux-kernel@vger.kernel.org>
Cc: Avi Kivity <avi@argo.co.il>
Subject: Re: Kernel Development & Objective-C
Date: Mon, 03 Dec 2007 14:35:31 +0200 [thread overview]
Message-ID: <1196685331.3969.20.camel@gilboa-work-dev.localdomain> (raw)
In-Reply-To: <47539030.10600@argo.co.il>
On Mon, 2007-12-03 at 07:12 +0200, Avi Kivity wrote:
> Andi Kleen wrote:
> > Avi Kivity <avi@argo.co.il> writes:
> >
> >> [I really doubt there are that many of these; syscall
> >> entry/dispatch/exit, interrupt dispatch, context switch, what else?]
> >>
> >
> > Networking, block IO, page fault, ... But only the fast paths in these
> > cases. A lot of the kernel is slow path code and could probably
> > be written even in an interpreted language without much trouble.
> >
> >
>
> Even these (with the exception of the page fault path) are hardly "we
> care about a single instruction" material suggested above. Even with a
> million packets per second per core (does such a setup actually exist?)
> You have a few thousand cycles per packet. For block you'd need around
> 5,000 disks per core to reach such rate
Intel's newest dual 10GbE NIC can easily (?) throw ~14M packets per
second. (theoretical peak at 1514bytes/frame)
Granted, installing such a device on a single CPU/single core machine is
absurd - but even on an 8 core machine (2 x Xeon 53xx/54xx / AMD
Barcelona) it can still generate ~1M packets/s per core.
Now assuming you're doing low-level (passive) filtering of some sort
(frame/packet routing, traffic interception and/or packet analysis)
using hardware assistance (TSO, complete TCP offloading, etc) is off the
table and each and every cycle within netif_receive_skb (and friends)
-counts-.
I don't suggest that the kernel should be (re)designed for such (niche)
applications but on other hand, if it works...
- Gilboa
next prev parent reply other threads:[~2007-12-03 12:35 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-29 12:14 Kernel Development & Objective-C Ben Crowhurst
2007-11-30 10:02 ` Xavier Bestel
2007-11-30 10:09 ` KOSAKI Motohiro
2007-11-30 10:20 ` Xavier Bestel
2007-11-30 10:54 ` Jan Engelhardt
2007-11-30 14:21 ` David Newall
2007-11-30 23:31 ` Bill Davidsen
2007-11-30 23:40 ` Alan Cox
2007-12-01 0:05 ` Arnaldo Carvalho de Melo
2007-12-01 18:27 ` Bill Davidsen
2007-12-01 18:18 ` Alan Cox
2007-12-03 1:23 ` Bill Davidsen
2007-11-30 22:52 ` J.A. Magallón
2007-11-30 10:29 ` Loïc Grenié
2007-11-30 11:16 ` Ben Crowhurst
2007-11-30 11:36 ` Karol Swietlicki
2007-11-30 14:37 ` Lennart Sorensen
2007-12-08 8:54 ` Rogelio M. Serrano Jr.
2007-11-30 23:19 ` J.A. Magallón
2007-11-30 23:53 ` Nicholas Miell
2007-12-01 0:31 ` Al Viro
2007-12-01 0:34 ` Al Viro
2007-12-01 1:09 ` J.A. Magallón
2007-12-01 19:55 ` Avi Kivity
2007-12-04 17:54 ` Lennart Sorensen
2007-12-04 21:10 ` Avi Kivity
2007-12-04 21:24 ` J.A. Magallón
2007-11-30 11:37 ` Matti Aarnio
2007-11-30 14:34 ` Lennart Sorensen
2007-11-30 15:26 ` Kyle Moffett
2007-11-30 18:40 ` H. Peter Anvin
2007-11-30 19:35 ` Kyle Moffett
2007-12-01 20:03 ` Avi Kivity
2007-12-02 19:01 ` Andi Kleen
2007-12-03 5:12 ` Avi Kivity
2007-12-03 9:50 ` Andi Kleen
2007-12-03 11:46 ` Avi Kivity
2007-12-03 11:50 ` Andi Kleen
2007-12-03 21:13 ` Willy Tarreau
2007-12-03 21:39 ` J.A. Magallón
2007-12-03 21:57 ` Alan Cox
2007-12-04 21:47 ` J.A. Magallón
2007-12-04 22:20 ` Diego Calleja
2007-12-05 10:59 ` Giacomo A. Catenazzi
2007-12-04 21:07 ` Avi Kivity
2007-12-04 22:43 ` Willy Tarreau
2007-12-05 17:05 ` Micro vs macro optimizations (was: Re: Kernel Development & Objective-C) Avi Kivity
2007-12-03 12:35 ` Gilboa Davara [this message]
2007-12-03 12:44 ` Kernel Development & Objective-C Gilboa Davara
2007-12-03 16:28 ` Casey Schaufler
2007-12-04 17:50 ` Lennart Sorensen
2007-12-05 10:31 ` Gilboa Davara
2007-12-01 19:59 ` Avi Kivity
2007-12-02 19:44 ` Jörn Engel
2007-12-03 16:53 ` Lennart Sorensen
2007-11-30 15:00 ` Chris Snook
2007-12-01 9:50 ` David Newall
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=1196685331.3969.20.camel@gilboa-work-dev.localdomain \
--to=gilboad@gmail.com \
--cc=avi@argo.co.il \
--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 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).