Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 10 Nov 1995 16:05:15 -0500 (EST)
From:      "Ron G. Minnich" <rminnich@Sarnoff.COM>
To:        Bakul Shah <bakul@netcom.com>
Cc:        hackers@freebsd.org
Subject:   Why i care about the rate of EFAULT from write(2) and friends
Message-ID:  <Pine.SOL.3.91.951110155112.13530S-100000@morse>
In-Reply-To: <199511101753.JAA10892@netcom22.netcom.com>

next in thread | previous in thread | raw e-mail | index | archive | help
> What parameter are you trying to measure?  Hmm... perhaps
> you are mapping in pages when you discover an invalid
> address?

You got it! But the io for the pages is done from user mode. 

I'm building an atm card which allows user-mode programs (more than one at
a time unlike Myrinet or the SP/2 EUIH) to format a message and shove it
out the door in under 5 microseconds, with a media speed of 1.2 Gbps. To
achieve real performance on this card the software time needs to be held
low. SO i decided to check a simple question: how fast can the kernel
determine that a user i/o space is invalid and transfer control to a
user-mode program which will send a message to a server? Until now i've 
used MNFS for this, but the problem is that MNFS makes its decisions at 
the end of a long, drawn-out process that involves the VM, the VFS, 
SunRPC, SunXDR, ad nauseum. Too slow. Turns out that in the linux 
universe I can make comparable decisions and get out to the atm card in 
under 10 microseconds. I plan to write this up for the upcoming free 
software conference. The software is trivial. 

BTW due to the way this works none of Terry's earlier comments have any
applicability whatsoever. Which means that the program is not a
general-purpose benchmark, but serves as an essential measure of 
performance for the purposes of this application.

One more comment: i've left a lot out. So please folks, don't start
telling me how stupid i am. You can disagree, but i'd appreciate you doing
it politely. Lack of civility has already led to lots of problems in the
bsd community, as well as the departure of some very good people for the
linux world. Good manners are in short supply. Try to build up the stocks. 

BTW bakul unless i misread your message you are saying that a 3/60 takes 
about 1 ms/iteration for this benchmark. I have no problem believing 
that. The linux box takes 10 microseconds, i.e. it's 100 times faster. 

ron




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.SOL.3.91.951110155112.13530S-100000>