From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754844AbbI2A3p (ORCPT ); Mon, 28 Sep 2015 20:29:45 -0400 Received: from mail-bn1on0132.outbound.protection.outlook.com ([157.56.110.132]:14088 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754030AbbI2A3o (ORCPT ); Mon, 28 Sep 2015 20:29:44 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=scottwood@freescale.com; Date: Mon, 28 Sep 2015 19:29:35 -0500 From: Scott Wood To: Christophe Leroy CC: Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , , Subject: Re: [PATCH v2 22/25] powerpc32: move xxxxx_dcache_range() functions inline Message-ID: <20150929002935.GK6161@home.buserror.net> References: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) X-Originating-IP: [2601:448:8100:f9f:50d6:efef:9d58:181b] X-ClientProxiedBy: BY2PR04CA0073.namprd04.prod.outlook.com (10.255.247.41) To BY1PR03MB1481.namprd03.prod.outlook.com (25.162.210.14) X-Microsoft-Exchange-Diagnostics: 1;BY1PR03MB1481;2:v+GB+NWmVuNDg6dtgBwFmBB7quFQX2xlpMqaMuJs0p0yd+e4dbB1uB6Z1ojhcZ9Y2ONRct2/0eyD5ESF2iM1H3EnCo7CTEDtPTg0BrhQhTzIEkSPizOvyY6b3AckD2zGhM7iw6PyE9NHzB3fryS1+hyqGzpscD+Grh7k6qE5F2Q=;3:P+R9M+2f0oEpoZ+pePzuPOqS5zTXhBy/Y3xVYyfyu/MmZekp1tODFZvILAn0zVfVLhxez1f4dmVNz0I7CqumC9bfHqF7dz4607i5dqiHUBtKutovTEeN63X4lZvV9endLzYTuVeNtfHav1G0ePR9zw==;25:3de7Q9PBfpuTYm2SfMV42J8WZHy6VdyAjouQhFb3BCf6kPas7HTdFZJRdlVY0aaBy69FXl/CB9z2ag3uGqM4YAUxV5nFBXXRAETVUiL4BG/vuxRt6RXE4DRQj8grqxnfeU7iMomSUixvM14op9l5XyTitlwguusDtbxguwn0sKCFh91RflMKw9kTn1SZxNNhsoPSNKHMWzYO3mMMkHkTIuEGcbVeU1Cw3Z6bXN3z9RRWH+hvco+JgWI6JvdDsVqv2wn+BW1/f5xrxHy9GzC3aQ== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY1PR03MB1481; X-Microsoft-Exchange-Diagnostics: 1;BY1PR03MB1481;20:dw5iDQM2LStvg3bT8L6JPJiMay6tDBaEQZgEAXLLeq5QDqCFkgc7qAeNZ9V2yKQEVbClj7+KufIXZNJDJZEsCzW1Y2zxBxLH2LH4+j/3DsHNCPgVU1sY6uO4JOZNxO9m/VI1nCpFm2juWOfuskrq3vWTgOsk1q4K1aiIrTeDwBvO6gRsqBuXbjn0pfrbEQPaQSYGG7+9JJUtTM6B3AP44+O6vb+1yex53vayNzaiBFfW81MGnV94owS+kRvZ2dF+9hai2Ml/E//0WbfWnXgD9HlYPM0oAWHGvYM0QI3dOyxyysUEQthil6zI8pNeevSlKvpOSTRmSjXFFryARrakZVomxOGe88tzLhQUhfUv4ksftbp2rFj8KbejTujkhpVZkMXCp5Qjzj/AeARzGLDpHxwAqtHVZ7ZNgStp7v9pbn04k5FA/3THXurjSWdc0p4Quemwi0T3cXNV9HA1PfkJd0d1tkU3nA3hcWftv1j+Eohts5lbTUTUmt33I63VlVL8;4:T4rblkctBfAppE8Msnc1LzT/Nrni72Y0m5zgurLASZJCsMuRNCL/dhluA6XTnpjcvbGk4Ahyq3IlZ8oLU70TJR2P8THYkGw66RbShnXIve/Gq1Xv9hyZXdy7SR/Zcc2ACP6WiwBDq9wc2szmFxMRUkMiZ09Ec6ZGJ9JA3nP67jyt32xwhPbeNiTiaZIE32YQCeV9ljfxngO9ulAtREIWRKatmcAfEQQrE4yEtNrVWwZodrxsyf2h9U19rERtjZQRfZ7ECtffHo0P5TJbbzBe/2d2yK0QiUB1Zhbr1zLoGIx4ipEl0pndSI+37m2aGCTL+Zv+TaShlRxqQQkgj4T1+sPZh9leJ6kIpTKJlpsPCqc= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(520078)(5005006)(3002001);SRVR:BY1PR03MB1481;BCL:0;PCL:0;RULEID:;SRVR:BY1PR03MB1481; X-Forefront-PRVS: 0714841678 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6009001)(24454002)(199003)(189002)(87976001)(76176999)(46102003)(50986999)(33656002)(64706001)(47776003)(105586002)(97756001)(23726002)(19580405001)(54356999)(50466002)(101416001)(5001860100001)(97736004)(5001920100001)(92566002)(62966003)(122386002)(2950100001)(77156002)(189998001)(4001350100001)(110136002)(5001960100002)(5001830100001)(81156007)(40100003)(4001540100001)(5004730100002)(68736005)(86362001)(106356001)(42186005)(53416004)(83506001)(46406003)(5007970100001)(77096005)(69596002)(3826002);DIR:OUT;SFP:1102;SCL:1;SRVR:BY1PR03MB1481;H:home.buserror.net;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BY1PR03MB1481;23:OlKD0teVPMpq7VgD9CykMX2zT1mGE5Xfia/J2jvJ3?= =?us-ascii?Q?ygQc0FPJBIp0a2vgtfRA4mmCZqFq3oQHGBwC6mjW5NSCwBA0Uid9C9FVb0H5?= =?us-ascii?Q?awKLF1A5J4JaFG7a4XcjSCF5rzs9/WVPSo7BN21sD9JNiXR175A/nXMBdkkw?= =?us-ascii?Q?hv7uDns4KxxCyo0iuo+BoqvkHGIwYbvXnq8MsualZgqgQvYFk+OcYQ86Wzpz?= =?us-ascii?Q?NeBrVqiPDMIIN4QBINyzRWIYI7imdGM3M+ETJ0++F0GYJlxGaYpMm3/O5oXn?= =?us-ascii?Q?ID/ABzhDj9EYC9q5hlTYGS5s1uvR+TTi0YODQPMKSBqH6zE80H20kUSSGhSk?= =?us-ascii?Q?EnHX5FzosBVqBAvMSIl0ZHsWn3nEvtFIF1tk/bOzxeD0G8Cjy7QKX+K8YGAe?= =?us-ascii?Q?it/KH3D1blcVoA+lmkpxQJfUl+PcgtDPMntHt2qTvigmjcA5yUiDOPRko8Lr?= =?us-ascii?Q?bpyK8jmUlwmT6mF/AICuxLs2P/ElzJNm9qbGQwapHKq1//x6spnU8/QN4cV7?= =?us-ascii?Q?ZEn0KeL6b6f9LwXZKjMHSDeTJcP0/4jgvR5tgQhJ4Ff7ZXkM6rNUw4dweLHy?= =?us-ascii?Q?furCra99BaNNPhRcLwLx5hyJfWU9xfXWteLNKYbFr3lzWyj5YknEVPVWaGnI?= =?us-ascii?Q?qfPij0UCkexjWalUjuzz+tvnAeDUDrGwmF0GFuB4NIAWNAvxvdNZeQA2HArp?= =?us-ascii?Q?V7UWL3D8g4WxfHVP0datVY8eEBOC3hbp6A0zbnMkDvoQW5UvfqSAcoWknrY4?= =?us-ascii?Q?AP+OGE9sB7h1Mxerjql1C6c3lbYxU/cR7t6zNwCPVMtAdOA8kjx85CDlO5EA?= =?us-ascii?Q?GtRIX/XBFbNO6sufZ9NU9K6g4O1cCtqnsKc01XQObnRPAHq8cxkeyI+O6483?= =?us-ascii?Q?jbdcHopfZo0VE8N1iiQEV7I6Vl6lAt9d9xCxqRAqETHe9Ozsn91JwmKMvyvh?= =?us-ascii?Q?UrTKFz1hGK+c7V5+Az6IXTZ8GG8YnFRUQ7+/PVUAdHjmj7KSPruNLBvVlu46?= =?us-ascii?Q?WSDbL2CbqD39HJKjKQKfc3/mNbuJmGwvZSfRmslUwQFWsuBdRx4ANW0oijcp?= =?us-ascii?Q?9aXN375/149eK1VwpL8LM5s4O2QN+HZUumBMZsTfkk/HXLLz3EGua6Zi0O8h?= =?us-ascii?Q?hNPZ688A3t8a1EFMBh50ZLRlD3JSzoFPV/53Sk4hcCri7jjxosdK+Nmr8VmU?= =?us-ascii?Q?ZLqTBrvgRuL2zQQcJBpfCl30denC4LasosxFJdZZGMNThvEargPkrddnfjoq?= =?us-ascii?Q?Mk1xY3tBqIfXFXLcH4=3D?= X-Microsoft-Exchange-Diagnostics: 1;BY1PR03MB1481;5:iaZX4v71oj3yydYeP0R3zwNDnKjU8S8PCTk/4K+jXS1JhPXjWhnSUB4yCt138TYwMDrKhGXFzxBzxw7iYSHK5mT2+XB7M3xJOJwiqKrAJDV7bIGtwo2fCVipoNEJ9NROszvx53te12GWJiT1vFyLMg==;24:o4FyuCqSlrK0JVTbIFAbpbNkalfnusT+FVF0ReYsi33WyUtl6C3crqN06t8MZZ9XekHIqOPuv1HFKzzCjB3QArw1nVpeKvopkLy4DEZGg1g=;20:HDQgZuG+/k8bOGziuHdLAh4iVfbHs2BZN6mO87fSAvSclJqc2BeU3GS3CkljC7NpyiOeHiSJBlKE7Q/QOZrCXQ== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Sep 2015 00:29:41.2738 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR03MB1481 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Sep 22, 2015 at 06:51:13PM +0200, Christophe Leroy wrote: > flush/clean/invalidate _dcache_range() functions are all very > similar and are quite short. They are mainly used in __dma_sync() > perf_event locate them in the top 3 consumming functions during > heavy ethernet activity > > They are good candidate for inlining, as __dma_sync() does > almost nothing but calling them > > Signed-off-by: Christophe Leroy > --- > New in v2 > > arch/powerpc/include/asm/cacheflush.h | 55 +++++++++++++++++++++++++++-- > arch/powerpc/kernel/misc_32.S | 65 ----------------------------------- > arch/powerpc/kernel/ppc_ksyms.c | 2 ++ > 3 files changed, 54 insertions(+), 68 deletions(-) > > diff --git a/arch/powerpc/include/asm/cacheflush.h b/arch/powerpc/include/asm/cacheflush.h > index 6229e6b..6169604 100644 > --- a/arch/powerpc/include/asm/cacheflush.h > +++ b/arch/powerpc/include/asm/cacheflush.h > @@ -47,12 +47,61 @@ static inline void __flush_dcache_icache_phys(unsigned long physaddr) > } > #endif > > -extern void flush_dcache_range(unsigned long start, unsigned long stop); > #ifdef CONFIG_PPC32 > -extern void clean_dcache_range(unsigned long start, unsigned long stop); > -extern void invalidate_dcache_range(unsigned long start, unsigned long stop); > +/* > + * Write any modified data cache blocks out to memory and invalidate them. > + * Does not invalidate the corresponding instruction cache blocks. > + */ > +static inline void flush_dcache_range(unsigned long start, unsigned long stop) > +{ > + void *addr = (void *)(start & ~(L1_CACHE_BYTES - 1)); > + unsigned int size = stop - (unsigned long)addr + (L1_CACHE_BYTES - 1); > + unsigned int i; > + > + for (i = 0; i < size >> L1_CACHE_SHIFT; i++, addr += L1_CACHE_BYTES) > + dcbf(addr); > + if (i) > + mb(); /* sync */ > +} I know this is 32-bit-specific code, but it's still bad practice to use "unsigned int" for addresses or sizes thereof. -Scott