Re: [RFC] Arch option to touch newly allocated pages

Jeff Dike
2002-03-04T05:02:22Z

alan@lxorguk.ukuu.org.uk said:
> You never get a SIGBUS. Writes to tmpfs for new blocks will fail if
> that would place the system in a potential overcommit situation.

How will writes to tmpfs fail if we're not in an overcommit situation, but
tmpfs is full? Unless tmpfs is changed, it looks to me like you get a SIGBUS.

> It isnt the alloc pages that is the problem.

We are somehow failing to communicate...

> You mmap - no pages are allocated.

I understand this.

> You use them , pages get allocated.

This too.

> If you look at the actual maps you'll find a lot of people allocate an
> area of address space but don't use it all.

Yes.

> Without the address
> overcommit management nothing guarantees that when you touch those
> pages you won't fault.

Even with address overcommit management, I can fault if I touch pages when
tmpfs is full but the system is not near overcommit.

> Furthermore unless you are very careful you may
> fault again on the stack push for the SIGBUS and if that faults -
> SIGKILL->OOM time

We are talking about UML kernel stacks. If they have been allocated the way
I'm proposing with the UML __alloc_pages touching each page on the way out,
they are allocated on the host, and therefore can't fault.

This seems to me to be sufficiently careful.

One of us is missing something, who is it?

Jeff