Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754770AbbEOR6f (ORCPT ); Fri, 15 May 2015 13:58:35 -0400 Received: from pegase1.c-s.fr ([93.17.236.30]:28815 "EHLO mailhub1.si.c-s.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752397AbbEOR6e (ORCPT ); Fri, 15 May 2015 13:58:34 -0400 Message-ID: <555633C3.9000308@c-s.fr> Date: Fri, 15 May 2015 19:58:27 +0200 From: christophe leroy User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: Scott Wood CC: Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, Joakim Tjernlund , Kyle Moffett Subject: Re: [PATCH 1/4] Partially revert "powerpc: Remove duplicate cacheable_memcpy/memzero functions" References: <1431564565.3868.157.camel@freescale.com> In-Reply-To: <1431564565.3868.157.camel@freescale.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Antivirus: avast! (VPS 150515-0, 15/05/2015), Outbound message X-Antivirus-Status: Clean Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2189 Lines: 46 Le 14/05/2015 02:49, Scott Wood a écrit : > On Tue, 2015-05-12 at 15:32 +0200, Christophe Leroy wrote: >> This partially reverts >> commit 'powerpc: Remove duplicate cacheable_memcpy/memzero functions >> ("f909a35bdfb7cb350d078a2cf888162eeb20381c")' > I don't have that SHA. Do you mean > b05ae4ee602b7dc90771408ccf0972e1b3801a35? Right, took it from the wrong tree sorry. > >> Functions cacheable_memcpy/memzero are more efficient than >> memcpy/memset as they use the dcbz instruction which avoids refill >> of the cacheline with the data that we will overwrite. > I don't see anything in this patchset that addresses the "NOTE: The old > routines are just flat buggy on kernels that support hardware with > different cacheline sizes" comment. I believe the NOTE means that if a kernel is compiled for several CPUs having different cache line size, then it will not work. But it is also the case of other functions using dcbz instruction, like copy_page() clear_page() copy_tofrom_user(). And indeed, this seems only possible in three cases: 1/ With CONFIG_44x as 47x has different size than 44x and 46x. However it is explicitly stated in arch/powerpc/platforms/44x/Kconfig : "config PPC_47x This option enables support for the 47x family of processors and is not currently compatible with other 44x or 46x varients" 2/ With CONFIG_PPC_85xx, as PPC_E500MC has different size than other E500. However it is explicitly stated in arch/powerpc/platforms/Kconfig.cputype : "config PPC_E500MC This must be enabled for running on e500mc (and derivatives such as e5500/e6500), and must be disabled for running on e500v1 or e500v2." 3/ With CONFIG_403GCX as 403GCX has different size than other 40x. However it seems to be no way to select CONFIG_403GCX from arch/powerpc/platforms/40x/Kconfig Christophe --- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. http://www.avast.com -- 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/