On Sat, Mar 21, 2020 at 09:43:17AM +0100, Christoph Hellwig wrote:
On Fri, Mar 20, 2020 at 01:49:04PM -0300, Jason Gunthorpe wrote:
From: Jason Gunthorpe jgg@mellanox.com
This code can be compiled when CONFIG_TRANSPARENT_HUGEPAGE is off, so remove the ifdef.
It can compile, but will the compiler optimize it away?
Yes, the enclosing conditional:
if (pmd_devmap(pmd) || pmd_trans_huge(pmd)) {
is statically false if !CONFIG_TRANSPARENT_HUGEPAGE
This is proven today, as the fallback stub is a function prototype with no implementation:
-int hmm_vma_handle_pmd(struct mm_walk *walk, unsigned long addr, - unsigned long end, uint64_t *pfns, pmd_t pmd);
If the compiler wasn't optimizing the above branch we'd get link failures.
Jason
dri-devel@lists.freedesktop.org