Re: PATCH: Raw device IO for 2.1.131

Jakub Jelinek (jj@sunsite.ms.mff.cuni.cz)
Wed, 16 Dec 1998 12:31:59 +0100 (CET)


>
> Date: Tue, 15 Dec 1998 19:40:28 -0800 (PST)
> From: Linus Torvalds <torvalds@transmeta.com>
>
> I'm not arguing against zero-copy per se. I'm arguing against
> people who think memory management tricks are a good idea. They
> generally aren't, look at where Mach is.
>
> Ok ok ok, as usual you are the voice of reason.
>
> Just one situation I want clarified, do you think we'll be able to fit
> into our framework a way to (for example) get at the user's
> application level headers during a write (ie. http header, then the
> data)?

Another thing which rawio helps with, but could be implemented separately,
is a way how to hint the kernel that this data won't be needed again.
Currently, a couple of tasks are like that, e.g. burning a CD, playing large
mpegs, etc. In all these cases, current kernel behaves badly, as it has no
way of knowing which buffers and pages to keep in buffer/page caches and which
to throw out, so it results in all caches being filled with useless data and
preciously cached data being thrown away. Here even sendfile won't help, as
it caches the things.
Rawio helps here, as it does not leave the things in caches at all, but one
could cope with special hints in open and either throw those pages
immediately, or mark them so that they'll be freed up the first time someone
asks for a page/buffer.

Cheers,
Jakub
___________________________________________________________________
Jakub Jelinek | jj@sunsite.mff.cuni.cz | http://sunsite.mff.cuni.cz
Administrator of SunSITE Czech Republic, MFF, Charles University
___________________________________________________________________
UltraLinux | http://ultra.linux.cz/ | http://ultra.penguin.cz/
Linux version 2.1.130 on a sparc64 machine (3958.37 BogoMips)
___________________________________________________________________

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/