[PATCH hmm 5/6] mm/hmm: remove the CONFIG_TRANSPARENT_HUGEPAGE #ifdef
Jason Gunthorpe
jgg at mellanox.com
Mon Mar 23 17:33:45 UTC 2020
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 at 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
More information about the dri-devel
mailing list