On Fri, May 08, 2020 at 04:40:38PM +0200, Joerg Roedel wrote: > +/* > + * Architectures can set this mask to a combination of PGTBL_P?D_MODIFIED values > + * and let generic vmalloc and ioremap code know when arch_sync_kernel_mappings() > + * needs to be called. > + */ > +#ifndef ARCH_PAGE_TABLE_SYNC_MASK > +#define ARCH_PAGE_TABLE_SYNC_MASK 0 > +#endif > + > +void arch_sync_kernel_mappings(unsigned long start, unsigned long end); > + if (mask & ARCH_PAGE_TABLE_SYNC_MASK) > + arch_sync_kernel_mappings(start, end); So you're relying on the compiler DCE'ing the call in the 'normal' case. Works I suppose, but I went over the patches twice to look for a default implementation of it before I figured that out ...