Merge tag 'dax-fix-5.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
Pull dax fix from Dan Williams: "Fix a performance regression that followed from a fix to the conversion of the fsdax implementation to the xarray. v5.3 users report that they stop seeing huge page mappings on an application + filesystem layout that was seeing huge pages previously on v5.2" * tag 'dax-fix-5.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: fs/dax: Fix pmd vs pte conflict detection
This commit is contained in:
@@ -220,10 +220,11 @@ static void *get_unlocked_entry(struct xa_state *xas, unsigned int order)
|
||||
|
||||
for (;;) {
|
||||
entry = xas_find_conflict(xas);
|
||||
if (!entry || WARN_ON_ONCE(!xa_is_value(entry)))
|
||||
return entry;
|
||||
if (dax_entry_order(entry) < order)
|
||||
return XA_RETRY_ENTRY;
|
||||
if (!entry || WARN_ON_ONCE(!xa_is_value(entry)) ||
|
||||
!dax_is_locked(entry))
|
||||
if (!dax_is_locked(entry))
|
||||
return entry;
|
||||
|
||||
wq = dax_entry_waitqueue(xas, entry, &ewait.key);
|
||||
|
||||
Reference in New Issue
Block a user