qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 2/9] alpha-linux-user: Work around hosted mmap a


From: Richard Henderson
Subject: Re: [Qemu-devel] [PATCH 2/9] alpha-linux-user: Work around hosted mmap allocation problems
Date: Tue, 12 Jun 2012 07:27:54 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120430 Thunderbird/12.0.1

On 2012-06-12 07:12, Andreas Färber wrote:
> This looks fishy to me... why should the kernel use a bigger address
> space than hardware? For arm on x86_64 such a workaround was not
> necessary iirc.

I can tell you what I observe.  That with a certain sequence of
allocations the x86_64 kernel will quit accepting an address "near"
(1<<38) as a hint for where to allocate memory and begin returning
an addresses near (1<<48).  Further, the logic in find_mmap_vma tries
about 5 times (with different hints) to get a target-page-aligned
address at a lower address, all of which fail: the kernel continues
to return the (1<<48) address.  At which point one wonders why we 
should keep refusing the (1<<48) address when the target is in fact
64-bit capable.

I believe the host vs target page size difference plays a part in
this, which is why you wouldn't see this on arm.

All of the other targets with page size larger than 4k are 64 bit,
and set TARGET_VIRT_ADDR_SPACE_BITS to 64.  So Alpha was unique in
being an 8k page size with T_B_A_S_B < 48, and so probably unique
in being able to tickle this problem.


r~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]