From: torvalds@transmeta.com (Linus Torvalds)
To: linux-kernel@vger.kernel.org
Subject: Re: Is sendfile all that sexy?
Date: 15 Jan 2001 10:46:41 -0800 [thread overview]
Message-ID: <93vgih$640$1@penguin.transmeta.com> (raw)
In-Reply-To: <14947.5703.60574.309140@leda.cam.zeus.com> <Pine.LNX.4.30.0101150753010.30402-100000@twinlark.arctic.org> <14947.17050.127502.936533@leda.cam.zeus.com>
In article <14947.17050.127502.936533@leda.cam.zeus.com>,
Jonathan Thackray <jthackray@zeus.com> wrote:
>
>> how would sendpath() construct the Content-Length in the HTTP header?
>
>You'd still stat() the file to decide whether to use sendpath() to
>send it or not, if it was Last-Modified: etc. Of course, you'd cache
>stat() calls too for a few seconds. The main thing is that you save
>a valuable fd and open() is expensive, even more so than stat().
"open" expensive?
Maybe on HP-UX and other platforms. But give me numbers: I seriously
doubt that
int fd = open(..)
fstat(fd..);
sendfile(fd..);
close(fd);
is any slower than
.. cache stat() in user space based on name ..
sendpath(name, ..);
on any real load.
>> TCP_CORK is useful for FAR more than just sendfile() headers and
>> footers. it's arguably the most correct way to write server code.
>
>Agreed -- the hard-coded Nagle algorithm makes no sense these days.
The fact I dislike about the HP-UX implementation is that it is so
_obviously_ stupid.
And I have to say that I absolutely despise the BSD people. They did
sendfile() after both Linux and HP-UX had done it, and they must have
known about both implementations. And they chose the HP-UX braindamage,
and even brag about the fact that they were stupid and didn't understand
TCP_CORK (they don't say so in those exact words, of course - they just
show that they were stupid and clueless by the things they brag about).
Oh, well. Not everybody can be as goodlooking as me. It's a curse.
Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/
next prev parent reply other threads:[~2001-01-15 18:47 UTC|newest]
Thread overview: 130+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-01-14 18:29 Is sendfile all that sexy? jamal
2001-01-14 18:50 ` Ingo Molnar
2001-01-14 19:02 ` jamal
2001-01-14 19:09 ` Ingo Molnar
2001-01-14 19:18 ` jamal
2001-01-14 20:22 ` Linus Torvalds
2001-01-14 20:38 ` Ingo Molnar
2001-01-14 21:44 ` Linus Torvalds
2001-01-14 21:49 ` Ingo Molnar
2001-01-14 21:54 ` Gerhard Mack
2001-01-14 22:40 ` Linus Torvalds
2001-01-14 22:45 ` J Sloan
2001-01-15 20:15 ` H. Peter Anvin
2001-01-15 3:43 ` Michael Peddemors
2001-01-15 13:02 ` Florian Weimer
2001-01-15 13:45 ` Tristan Greaves
2001-01-15 1:14 ` Dan Hollis
2001-01-15 15:24 ` Jonathan Thackray
2001-01-15 15:36 ` Matti Aarnio
2001-01-15 20:17 ` H. Peter Anvin
2001-01-15 16:05 ` dean gaudet
2001-01-15 18:34 ` Jonathan Thackray
2001-01-15 18:46 ` Linus Torvalds [this message]
2001-01-15 20:47 ` [patch] sendpath() support, 2.4.0-test3/-ac9 Ingo Molnar
2001-01-16 4:51 ` dean gaudet
2001-01-16 4:59 ` Linus Torvalds
2001-01-16 9:48 ` 'native files', 'object fingerprints' [was: sendpath()] Ingo Molnar
2000-01-01 2:02 ` Pavel Machek
2001-01-16 11:13 ` Andi Kleen
2001-01-16 11:26 ` Ingo Molnar
2001-01-16 11:37 ` Andi Kleen
2001-01-16 12:04 ` O_ANY [was: Re: 'native files', 'object fingerprints' [was: sendpath()]] Ingo Molnar
2001-01-16 12:09 ` Ingo Molnar
2001-01-16 12:13 ` Peter Samuelson
2001-01-16 12:33 ` Ingo Molnar
2001-01-16 14:40 ` Felix von Leitner
2001-01-16 12:34 ` Andi Kleen
2001-01-16 13:00 ` Mitchell Blank Jr
2001-01-16 13:57 ` 'native files', 'object fingerprints' [was: sendpath()] Jamie Lokier
2001-01-16 14:27 ` Felix von Leitner
2001-01-16 17:47 ` Linus Torvalds
2001-01-17 4:39 ` dean gaudet
2001-01-16 9:19 ` [patch] sendpath() support, 2.4.0-test3/-ac9 Ingo Molnar
2001-01-17 0:03 ` dean gaudet
2001-01-15 18:58 ` Is sendfile all that sexy? dean gaudet
2001-01-15 19:41 ` Ingo Molnar
2001-01-15 20:33 ` Albert D. Cahalan
2001-01-15 21:00 ` Linus Torvalds
2001-01-16 10:40 ` Felix von Leitner
2001-01-16 11:56 ` Peter Samuelson
2001-01-16 12:37 ` Ingo Molnar
2001-01-16 12:42 ` Ingo Molnar
2001-01-16 12:47 ` Felix von Leitner
2001-01-16 13:48 ` Jamie Lokier
2001-01-16 14:20 ` Felix von Leitner
2001-01-16 15:05 ` David L. Parsley
2001-01-16 15:05 ` Jakub Jelinek
2001-01-16 15:46 ` David L. Parsley
2001-01-18 14:00 ` Laramie Leavitt
2001-01-17 19:27 ` dean gaudet
2001-01-24 0:58 ` Sasi Peter
2001-01-24 8:44 ` James Sutherland
2001-01-25 10:20 ` Anton Blanchard
2001-01-25 10:58 ` Sasi Peter
2001-01-26 6:10 ` Anton Blanchard
2001-01-26 11:46 ` David S. Miller
2001-01-26 14:12 ` Anton Blanchard
2001-01-15 23:16 ` Pavel Machek
2001-01-16 13:47 ` jamal
2001-01-16 14:41 ` Pavel Machek
-- strict thread matches above, loose matches on Subject: below --
2001-01-16 13:50 Andries.Brouwer
2001-01-17 6:56 ` Ton Hospel
2001-01-17 7:31 ` Steve VanDevender
2001-01-17 8:09 ` Ton Hospel
2001-01-17 15:02 Ben Mansell
2000-01-01 2:10 ` Pavel Machek
2001-01-17 19:32 ` Linus Torvalds
2001-01-18 2:34 ` Olivier Galibert
2001-01-21 21:22 ` LA Walsh
2001-01-18 8:23 ` Rogier Wolff
2001-01-18 10:01 ` Andreas Dilger
2001-01-18 11:04 ` Russell Leighton
2001-01-18 16:36 ` Larry McVoy
2001-01-19 1:53 ` Linus Torvalds
2001-01-18 16:24 ` Linus Torvalds
2001-01-18 18:46 ` Kai Henningsen
2001-01-18 18:58 ` Roman Zippel
2001-01-18 19:42 ` Linus Torvalds
2001-01-19 0:18 ` Roman Zippel
2001-01-19 1:14 ` Linus Torvalds
2001-01-19 6:57 ` Alan Cox
2001-01-19 10:13 ` Roman Zippel
2001-01-19 10:55 ` Andre Hedrick
2001-01-19 20:18 ` kuznet
2001-01-19 21:45 ` Linus Torvalds
2001-01-20 18:53 ` kuznet
2001-01-20 19:26 ` Linus Torvalds
2001-01-20 21:20 ` Roman Zippel
2001-01-21 0:25 ` Linus Torvalds
2001-01-21 2:03 ` Roman Zippel
2001-01-21 18:00 ` kuznet
2001-01-21 23:21 ` David Woodhouse
2001-01-20 15:36 ` Kai Henningsen
2001-01-20 21:01 ` Linus Torvalds
2001-01-20 21:10 ` Mo McKinlay
2001-01-20 22:24 ` Roman Zippel
2001-01-21 0:33 ` Linus Torvalds
2001-01-21 1:29 ` David Schwartz
2001-01-21 2:42 ` Roman Zippel
2001-01-21 9:52 ` James Sutherland
2001-01-21 10:02 ` Ingo Molnar
2001-01-22 9:52 ` Helge Hafting
2001-01-22 13:00 ` James Sutherland
2001-01-23 9:01 ` Helge Hafting
2001-01-23 9:37 ` James Sutherland
2001-01-18 19:51 ` Rick Jones
2001-01-18 12:17 ` Peter Samuelson
2001-01-22 18:13 ` Val Henson
2001-01-22 18:27 ` David Lang
2001-01-22 19:37 ` Val Henson
2001-01-22 20:01 ` David Lang
2001-01-22 22:04 ` Ion Badulescu
2001-01-22 18:54 ` Linus Torvalds
[not found] <Pine.LNX.4.10.10101190911130.10218-100000@penguin.transmeta.com>
2001-01-19 17:23 ` Rogier Wolff
2001-01-24 15:12 Sasi Peter
2001-01-24 15:29 ` James Sutherland
2001-01-25 1:11 ` Alan Cox
2001-01-25 9:06 ` James Sutherland
2001-01-25 10:42 ` bert hubert
2001-01-25 12:14 ` James Sutherland
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='93vgih$640$1@penguin.transmeta.com' \
--to=torvalds@transmeta.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox