[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Zero page
On Feb 2, 2010, at 11:20 AM, Antti Kantee wrote:
> On Wed Feb 03 2010 at 03:55:29 +0900, Masao Uebayashi wrote:
>>> Can't the first XIP device to attach simply allocate it?
>> It's getpages()'s iteration loop which redirects unallocated pages to
>> zero-pages. If we allocate zero-page in device drivers, we have to
>> have an interface which can be retrieved from vnode or mount.
>> Having a well-known global name is simple, but I'm fine with both.
> I assumed the reason you mentioned #ifdef XIP was because you didn't
> want to waste a whole page of memory on systems which don't use XIP.
> So in my suggestion you'd have a global:
> struct uvm_page *page_of_blues;
> and then in xip_attach:
> RUN_ONCE(zeroes, allocate_nothingness);
> Or something like that (you can even refcount it if you want to be
> extra-fancy). Then you can just always use the global zeropage in xip
> getpages() and don't need to recompile your kernel (and reboot!) to
> support XIP device modules.
I've suggested having a page of zeroes for those who dereference a demand-zero
page with a read-access. So it's just not for XIP.
Main Index |
Thread Index |