From: Pan Xinhui <xinhuix....@intel.com> It's safe and more reasonable to unlock memtype_lock right after rbt_memtype_check_insert.
Signed-off-by: Pan Xinhui <xinhuix....@intel.com> --- arch/x86/mm/pat.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/arch/x86/mm/pat.c b/arch/x86/mm/pat.c index 188e3e0..cb75639 100644 --- a/arch/x86/mm/pat.c +++ b/arch/x86/mm/pat.c @@ -538,20 +538,17 @@ int reserve_memtype(u64 start, u64 end, enum page_cache_mode req_type, new->type = actual_type; spin_lock(&memtype_lock); - err = rbt_memtype_check_insert(new, new_type); + spin_unlock(&memtype_lock); + if (err) { pr_info("x86/PAT: reserve_memtype failed [mem %#010Lx-%#010Lx], track %s, req %s\n", start, end - 1, cattr_name(new->type), cattr_name(req_type)); kfree(new); - spin_unlock(&memtype_lock); - return err; } - spin_unlock(&memtype_lock); - dprintk("reserve_memtype added [mem %#010Lx-%#010Lx], track %s, req %s, ret %s\n", start, end - 1, cattr_name(new->type), cattr_name(req_type), new_type ? cattr_name(*new_type) : "-"); -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/