On Thu, Aug 8, 2019 at 12:59 AM Christoph Hellwig hch@lst.de wrote:
On Wed, Aug 07, 2019 at 10:30:04AM -0700, Rob Clark wrote:
So, we do end up using GFP_HIGHUSER, which appears to get passed thru when shmem gets to the point of actually allocating pages.. not sure if that just ends up being a hint, or if it guarantees that we don't get something in the linear map.
(Bear with me while I "page" this all back in.. last time I dug thru the shmem code was probably pre-armv8, or at least before I had any armv8 hw)
GFP_HIGHUSER basically just means that this is an allocation that could dip into highmem, in which case it would not have a kernel mapping. This can happen on arm + LPAE, but not on arm64.
Just a dumb question, but why is *all* memory in the linear map on arm64? It would seem useful to have a source of pages that is not in the linear map. I guess it is mapped as huge pages (or something larger than 4k pages)?
Any recommended reading to understand how/why the kernel address space is setup the way it is (so I can ask fewer dumb questions)?
BR, -R
dri-devel@lists.freedesktop.org