Re: PATCH: Raw device IO for 2.1.131

Alan Cox (alan@lxorguk.ukuu.org.uk)
Sun, 13 Dec 1998 17:43:22 +0000 (GMT)


> deemed so performance critical. Most likely, if you are going to *any*
> processing of that data, the CPU and memory IO requirements will be
> far greater than the kernel->userspace copy. Is that extra copy really
> going to matter? As Linus said, maybe it's time to buy a new computer
> if you're running that close to the wire.

You can't buy a computer with sufficient sustained memory performance. In
the PC world especially memory performance is comical.

I don't want to make an extra kernel->user copy for two reasons. Firstly
it trashes my cache completely. The cache is the only thing saving my processor
from the slow memory bus its attached too. Secondly I don't want to waste
the cycles doing the copy.

The raw disk device stuff is actually the least interesting bit to me. I need
large amounts of buffer space for video work. I can either lock the user pages
and blast the data into them (little cache pollution almost no overhead) or
I can allocate big kernel buffers (swap, swap, swap), blast the data into them
and then map those pages into the user program or copy them.

If I copy them Im already dropping frames, if I map them into user space
I'm semi permanently committing megabytes of unswappable resource to processes.

The same reality applies to a kernel sendfile that knows about this stuff. It
will have to allocate huge kernel buffers and then commit them somewhere with
undefined completion time since the data rate of a network is externally
governed.

Alan

-
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/