On 11/25/2015 04:06 AM, Catalin Marinas wrote: > On Mon, Nov 23, 2015 at 10:55:16AM -0800, Daniel Cashman wrote: >> On 11/23/2015 07:04 AM, Will Deacon wrote: >>> On Wed, Nov 18, 2015 at 03:20:07PM -0800, Daniel Cashman wrote: >>>> +config ARCH_MMAP_RND_BITS_MAX >>>> + default 20 if ARM64_64K_PAGES && ARCH_VA_BITS=39 > > Where is ARCH_VA_BITS defined? We only have options like > ARM64_VA_BITS_39. > > BTW, we no longer allow the 64K pages and 39-bit VA combination. It is not, and should have been ARM64_VA_BITS. This stanza was meant to mimic the one for ARM64_VA_BITS. Thank you for pointing this, and the 39-bit combination out. >>>> + default 24 if ARCH_VA_BITS=39 >>>> + default 23 if ARM64_64K_PAGES && ARCH_VA_BITS=42 >>>> + default 27 if ARCH_VA_BITS=42 >>>> + default 29 if ARM64_64K_PAGES && ARCH_VA_BITS=48 >>>> + default 33 if ARCH_VA_BITS=48 >>>> + default 15 if ARM64_64K_PAGES >>>> + default 19 >>>> + >>>> +config ARCH_MMAP_RND_COMPAT_BITS_MIN >>>> + default 7 if ARM64_64K_PAGES >>>> + default 11 >>> >>> FYI: we now support 16k pages too, so this might need updating. It would >>> be much nicer if this was somehow computed rather than have the results >>> all open-coded like this. >> >> Yes, I ideally wanted this to be calculated based on the different page >> options and VA_BITS (which itself has a similar stanza), but I don't >> know how to do that/if it is currently supported in Kconfig. This would >> be even more desirable with the addition of 16K_PAGES, as with this >> setup we have a combinatorial problem. > > For KASan, we ended up calculating KASAN_SHADOW_OFFSET in > arch/arm64/Makefile. What would the formula be for the above > ARCH_MMAP_RND_BITS_MAX? The general formula I used ended up being: _max = floor(log(TASK_SIZE)) - log(PAGE_SIZE) - 3 which in the case of arm64 ended up being VA_BITS - PAGE_SHIFT - 3. Aside: following this would actually put COMPAT_BITS_MAX at 17 for 4k pages, rather than 16, but I left it at 16 to mirror what was put in arch/arm/Kconfig. Thank You, Dan -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>