> +static pgoff_t dax_entry_start(pgoff_t index, void *entry) > +{ > + if (RADIX_DAX_TYPE(entry) == RADIX_DAX_PMD) > + index &= (PMD_MASK >> PAGE_SHIFT); > + return index; > +} > + > static wait_queue_head_t *dax_entry_waitqueue(struct address_space *mapping, > - pgoff_t index) > + pgoff_t entry_start) > { > - unsigned long hash = hash_long((unsigned long)mapping ^ index, > + unsigned long hash = hash_long((unsigned long)mapping ^ entry_start, > DAX_WAIT_TABLE_BITS); > return wait_table + hash; > } All callers of dax_entry_waitqueue need to calculate entry_start using this new dax_entry_start helper. Either we should move the call to dax_entry_start into this helper. Or at least use local variables for in the callers as both of them also fill out a wait_exceptional_entry_queue structure with it. Or do both by letting dax_entry_waitqueue fill out that structure as well. -- 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>