Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752553AbbGUG5A (ORCPT ); Tue, 21 Jul 2015 02:57:00 -0400 Received: from cantor2.suse.de ([195.135.220.15]:40106 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751431AbbGUG47 (ORCPT ); Tue, 21 Jul 2015 02:56:59 -0400 Date: Tue, 21 Jul 2015 08:55:55 +0200 From: Borislav Petkov To: Pan Xinhui Cc: "linux-kernel@vger.kernel.org" , tglx@linutronix.de, mingo@redhat.com, hpa@zytor.com, x86@kernel.org, toshi.kani@hp.com, jgross@suse.com, mcgrof@suse.com, "mnipxh@163.com" Subject: Re: [PATCH] x86/mm/pat: Do a small optimization in reserve_memtype Message-ID: <20150721065555.GB520@nazgul.tnic> References: <55ADE6CF.4020200@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <55ADE6CF.4020200@intel.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1718 Lines: 55 On Tue, Jul 21, 2015 at 02:29:35PM +0800, Pan Xinhui wrote: > From: Pan Xinhui > > It's safe and more reasonable to unlock memtype_lock right after > rbt_memtype_check_insert. > > Signed-off-by: Pan Xinhui > --- > 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) : "-"); While you're at it, please fix a similar issue in lookup_memtype() and also improve the comments over memtype_lock to explain what exactly it protects. Thanks. -- Regards/Gruss, Boris. ECO tip #101: Trim your mails when you reply. -- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/