Re: Hinted mmap(2) without MAP_FIXED can fail prematurely

2022-02-17 Thread Johnny Billquist

On 2022-02-18 01:05, Michael van Elst wrote:

b...@softjar.se (Johnny Billquist) writes:


If it would ignore the hint, what's the point of the hint then?


With MAP_FIXED it must use the hint, without it's just a best effort
attempt.


Which then basically means that without MAP_FIXED, the hint don't really 
mean anything? It will take whatever address it can come up with, no 
matter what you put into the hint.


Which is what a hint of 0 should do. So I don't get that.
With MAP_FIXED, the hint needs to be exactly on a page boundary, which 
makes sense. Without MAP_FIXED, and with a hint, I would expect that 
things like rounding the address to the proper alignment, and so on, 
would be allowed, but not that it would just take any address. If I'm ok 
with it taking any random address, then I shouldn't provide a hint.


Anyway, that's just my reflections/thoughts on it.

  Johnny

--
Johnny Billquist  || "I'm on a bus
  ||  on a psychedelic trip
email: b...@softjar.se ||  Reading murder books
pdp is alive! ||  tryin' to stay hip" - B. Idol


Re: Hinted mmap(2) without MAP_FIXED can fail prematurely

2022-02-17 Thread Michael van Elst
p...@cielonegro.org (PHO) writes:

>I expected mmap(2) to search for an available region from the entire 
>address space starting from the hint, not only half of it.

It's not even half.



Re: Hinted mmap(2) without MAP_FIXED can fail prematurely

2022-02-17 Thread Michael van Elst
b...@softjar.se (Johnny Billquist) writes:

>If it would ignore the hint, what's the point of the hint then?

With MAP_FIXED it must use the hint, without it's just a best effort
attempt.



Re: Hinted mmap(2) without MAP_FIXED can fail prematurely

2022-02-17 Thread Johnny Billquist

If it would ignore the hint, what's the point of the hint then?

  Johnny

On 2022-02-17 08:23, PHO wrote:
I'm not sure if this is a bug or not, but on NetBSD/amd64 9.2, hinted 
mmap(2) without MAP_FIXED can fail prematurely with ENOMEM if all the 
regions below the given hint address are occupied.


The man page for mmap(2) suggests that the hint is just a hint. 
Shouldn't mmap(2) also search for available regions above the hint then?


Test code:
https://gist.github.com/depressed-pho/a629247b48b3e6178e35a14c62e9d44f#file-mmap-with-hint-c 



Test result:
https://gist.github.com/depressed-pho/a629247b48b3e6178e35a14c62e9d44f#file-gistfile1-txt 



--
Johnny Billquist  || "I'm on a bus
  ||  on a psychedelic trip
email: b...@softjar.se ||  Reading murder books
pdp is alive! ||  tryin' to stay hip" - B. Idol


Re: Hinted mmap(2) without MAP_FIXED can fail prematurely

2022-02-17 Thread PHO
I expected mmap(2) to search for an available region from the entire 
address space starting from the hint, not only half of it.


On 2/17/22 5:32 PM, Johnny Billquist wrote:

If it would ignore the hint, what's the point of the hint then?

   Johnny

On 2022-02-17 08:23, PHO wrote:
I'm not sure if this is a bug or not, but on NetBSD/amd64 9.2, hinted 
mmap(2) without MAP_FIXED can fail prematurely with ENOMEM if all the 
regions below the given hint address are occupied.


The man page for mmap(2) suggests that the hint is just a hint. 
Shouldn't mmap(2) also search for available regions above the hint then?


Test code:
https://gist.github.com/depressed-pho/a629247b48b3e6178e35a14c62e9d44f#file-mmap-with-hint-c 



Test result:
https://gist.github.com/depressed-pho/a629247b48b3e6178e35a14c62e9d44f#file-gistfile1-txt