Messages in this thread | | | Date | Thu, 19 Aug 1999 09:04:39 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: [bigmem-patch] 4GB with Linux on IA32 |
| |
On Thu, 19 Aug 1999, Peter Desnoyers wrote: > > From your and Alan's responses, it looks like there are two > acceptable mechanisms - either using the rawio patch / modifications > (and map_user_kiobuf in particular) to map the pages, or reversing the > process and mmap-ing kernel pages into user space.
Indeed.
> The first approach is a straightforward fit to my application, and has > similar functionality to the interface we use in NT for the same purpose. > (and perusing the rawio patch, which I was unfamiliar with until yesterday, > was instructive in pointing out the perils of walking page tables - there > are a number of cases handled there which would be botched by my code)
That's why I hate the notion of drives trying to do their own page table walking. Especially with SMP there are some rather subtle issues, and it's just hard to get right. The rawio interface also has the added advantage of forcing some organization onto the driver - you can't do page table walking from interrupts, for example, even though some driver writers have tried..
So yes, something using the rawio interfaces is ok, at least that way when something in the memory management changes I won't have to worry about random drivers breaking..
Linus
- 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/
| |