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>