[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <DB7PR08MB3082DDB5E28648F873D23493F7970@DB7PR08MB3082.eurprd08.prod.outlook.com>
Date: Fri, 11 Oct 2019 13:51:01 +0000
From: "Justin He (Arm Technology China)" <Justin.He@....com>
To: Catalin Marinas <Catalin.Marinas@....com>
CC: "linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-mm@...ck.org" <linux-mm@...ck.org>,
"x86@...nel.org" <x86@...nel.org>,
"hejianet@...il.com" <hejianet@...il.com>,
"Kaly Xin (Arm Technology China)" <Kaly.Xin@....com>,
nd <nd@....com>
Subject: RE: [PATCH v11 1/4] arm64: cpufeature: introduce helper
cpu_has_hw_af()
Hi Catanlin
Thanks for the detailed explanation.
Will send out v12 soon after testing
--
Cheers,
Justin (Jia He)
> -----Original Message-----
> From: Catalin Marinas <catalin.marinas@....com>
> Sent: Friday, October 11, 2019 6:39 PM
> To: Justin He (Arm Technology China) <Justin.He@....com>
> Cc: Will Deacon <will@...nel.org>; Mark Rutland
> <Mark.Rutland@....com>; James Morse <James.Morse@....com>; Marc
> Zyngier <maz@...nel.org>; Matthew Wilcox <willy@...radead.org>; Kirill A.
> Shutemov <kirill.shutemov@...ux.intel.com>; linux-arm-
> kernel@...ts.infradead.org; linux-kernel@...r.kernel.org; linux-
> mm@...ck.org; Suzuki Poulose <Suzuki.Poulose@....com>; Borislav
> Petkov <bp@...en8.de>; H. Peter Anvin <hpa@...or.com>; x86@...nel.org;
> Thomas Gleixner <tglx@...utronix.de>; Andrew Morton <akpm@...ux-
> foundation.org>; hejianet@...il.com; Kaly Xin (Arm Technology China)
> <Kaly.Xin@....com>; nd <nd@....com>
> Subject: Re: [PATCH v11 1/4] arm64: cpufeature: introduce helper
> cpu_has_hw_af()
>
> On Fri, Oct 11, 2019 at 01:16:36AM +0000, Justin He (Arm Technology China)
> wrote:
> > From: Catalin Marinas <catalin.marinas@....com>
> > > On Wed, Oct 09, 2019 at 04:42:43PM +0800, Jia He wrote:
> > > > + u64 mmfr1 = read_cpuid(ID_AA64MMFR1_EL1);
> > > > +
> > > > + return !!cpuid_feature_extract_unsigned_field(mmfr1,
> > > > +
> > > ID_AA64MMFR1_HADBS_SHIFT);
> > >
> > > No need for !!, the return type is a bool already.
> >
> > But cpuid_feature_extract_unsigned_field has the return type "unsigned
> int" [1]
> >
> > [1]
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch
> /arm64/include/asm/cpufeature.h#n444
>
> And the C language gives you the automatic conversion from unsigned int
> to bool without the need for !!. The reason we use !! in some places is
> for converting long to int (not bool) and losing the top 32-bit. See
> commit 84fe6826c28f ("arm64: mm: Add double logical invert to pte
> accessors") for an explanation.
>
> --
> Catalin
Powered by blists - more mailing lists