Linux-kernel mailing list archive 1999-32,: Re: how to bypass buffer cache for a block device driver

# Re: how to bypass buffer cache for a block device driver

Alan Cox (alan@lxorguk.ukuu.org.uk)
Mon, 9 Aug 1999 15:52:34 +0100 (BST)

- Messages sorted by: [ date ][ thread ][ subject ][ author ]
- Next message: Riley Williams: "Re: Kernels > 1M"
- Previous message: Christer Weinigel: "Re: no driver change for 2.4?"

> I want to optimize network related disk access by avoiding
> buffer copies into the main RAM. (Nic card will directly pick up
> data from storage controller card.)

Ok in which case you will definitely need to do a fair bit of kernel
hacking.

> I do not want apps running on the host machine itself to get
> adversely impacted.

Nod - but they want to share the page cache too so you need to run
a distributed shared memory scheme between your NFS daemon, the kernel
page cache and the card. Not fun

> I do not mind patching nfs server or writing device driver
> but I do not want to patch the kernel as I finally want it
> running on a stock kernel.

The NFS server (knfsd) is in the kernel

> How is the general problem of "peer-to-peer" access of hardware
> addressed in linux? Is there a generic way hardware can pass
> data bypassing copies to host memory.

Not currently. We do obvious stuff like video capture direct to the frame
buffer. Disk I/O however is going via the page cache and we need to keep
that coherent. Stephen Tweedie has done some initial work on raw
userspace<->controller I/O for Linux that can handle raw I/O for raw disk
partitions.

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

- Next message: Riley Williams: "Re: Kernels > 1M"
- Previous message: Christer Weinigel: "Re: no driver change for 2.4?"