Re: [PATCH 4/4] add SGI Altix cross partition memory (XPMEM) driver

From: Christoph Hellwig
Date: Tue Aug 28 2007 - 15:05:31 EST


On Tue, Aug 28, 2007 at 02:00:43PM -0500, Robin Holt wrote:
> The ioctl is sort of historical. IIRC, in ProPack 3 (RHEL4 based 2.4
> kernel), we added system calls. When the community started making noise
> about system calls being bad, we went to a device special file with a
> read/write (couldn't get the needed performance from the ioctl() interface
> which used to acquire the BKL). Now that the community fixed the ioctl
> issues, we went to using an ioctl, but are completely open to change.
>
> If you want to introduce system calls, we would expect to need, IIRC, 8.
> We also pondered an xpmem filesystem today. It really felt wrong,
> but we could pursue that as an alternative.

The problem is not ioctls per sę, but the kind of operation you
export.

> What is the correct direction to go with this? get_user_pages() does
> currently require the task_struct. Are you proposing we develop a way
> to fault pages without the task_struct of the owning process/thread group?

Stop trying to mess with vmas and get_user_pages on processes entirely.
The only region of virtual memory a driver can deal with is the one it
got a mmap request for, or when using get_user_pages the one it's got
a read/write request for. You're doing a worse variant of the rdma page
pinning scheme we're rejected countless times.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/