From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933548AbbIDTw6 (ORCPT ); Fri, 4 Sep 2015 15:52:58 -0400 Received: from mail-bn1bbn0100.outbound.protection.outlook.com ([157.56.111.100]:24722 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S933266AbbIDTw5 (ORCPT ); Fri, 4 Sep 2015 15:52:57 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Yuri.Norov@caviumnetworks.com; Date: Fri, 4 Sep 2015 22:52:40 +0300 From: Yury Norov To: "Suzuki K. Poulose" CC: Mark Rutland , Catalin Marinas , "ard.biesheuvel@linaro.org" , Will Deacon , "klimov.linux@gmail.com" , , "yury.norov@gmail.com" , "linux-kernel@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" Subject: Re: [RFC PATCH] arm64: cpuinfo: reduce cache contention on update_{feature}_support Message-ID: <20150904195240.GA14679@yury-N73SV> References: <1441382651-12058-1-git-send-email-ynorov@caviumnetworks.com> <55E9C999.1090503@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <55E9C999.1090503@arm.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-Originating-IP: [91.77.150.194] X-ClientProxiedBy: HE1PR03CA0040.eurprd03.prod.outlook.com (25.163.170.178) To BY2PR07MB615.namprd07.prod.outlook.com (10.141.222.150) X-Microsoft-Exchange-Diagnostics: 1;BY2PR07MB615;2:LE5Fq8xIziOZf+tm1dR9pJ0Bux/DuJDDSB01f4MTJvICb7HyPok32Mzm/HHwEubaVO0jHNysy56c2by0Ff5d93MKKMUUboAkCDeaopcSsx6EEbByFGyncXAxCEyGc/RNTSjgUaB/atpvF5LEaMRcRFtKRJ0QmD/rD49O4Te9Klk=;3:N9N10TfcVyuF+/xl44D5r3oA2zSjDzj7touqVLT2FeBZXMBa7MPkMzwJPMuM1fLnkKXGZJDmWthIpwr77OqkHbatB99TvSD9Wszr2+4eVf2B23INAl0iAdm9Se1NH8jvMDiKEeKTZ4rXrSNHuTHCpA==;25:l0DqQi/6xGENWsgVwd6e4rOx4oEJyTWR7HUuURZTudUkT+Hh8N01G7PcIDE/zfEtnWqlJ/yBPsbVIl6lhbUWS+PrDbIqS6xLXOaKt8SQf4STFkowB75UQlJO4b8o4MtiCVbAerzfs5xIUPlqh2qBxX9tEuXfn6PHVvmozTlNT+Yk+cUkKU/qmMAgDaH58DQ4lhU9tw+GjH4eKn8z6qV92cs/zbbSbyMZiJQ6eO7f0D56LKGPcxc8KOUq2dj79sSNqLaGlD32sG7liFQG5fIcJg== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2PR07MB615; X-Microsoft-Exchange-Diagnostics: 1;BY2PR07MB615;20:XtXa8fiyZVF4BRTf99jYpQMvA1Swu4zr1bZhWxOgHRMCOj/yxiLGiQegj7cLS51Og11jQ1LbPNccJ8+29xNjI9Scp+R6pCEg6QlR179UV9gFXEu1GpFBDw8Tzi975rNOEvD8O0USp6gSb+29bHzTenEf5QzzRrIUOk+MsdEPOEdJh7Eu92prfXvsi8uAVbrovwOM0154h8cv+BcMalj0X0BHa3HHoMsQfKS3QrZMttdO4CEIH8e5bBHDmJwmUeuV7GGRAU3e1uw441vJ043fi1IdyEQaMaFsF3fCS93pcqrZ5pqCucjITLZLhIG3c/8xLUHsA4PC/Ydlr6YCSDi7ofH0x2Ln0XLxXI/l3SiDxTny5buz47Vu4nWH44/sCEC2tZLcQiZD0yoQLX6aYNXsrMlSvKQCdbQ7I4HUfggSoMETdBWlUAwUeYdHXyBsXHaB9cBxZS9YoQe3I8enVyPnX77HXAMENV7iQ4tJHm1lo8diA9NcuLM1cOYwGeOj8AcsQ0zAAE25oCK0ogi/jC6wLmrWWVWMFsRcEr7FWqF2o0ts4dT7/pNuRHMw2aG++yoFO6jQcUEx1etA/VLMCdmbDGzOjTH3HvFwC4xOlxO6qAY=;4:AG0vizGtyqz47dxnXMxqKKVcQBBcd+CNPFz1tRtpVac/BC9WFEDbzOd6hIwWPFBs9Pjok0Q6df5owzHn26Qojp7/Ax6clHeBFiG+EPJLL0zKSqZt55WQRiUHl4PDgxty14JDvOijzv5vVNcjbBq03X7bCUBp9wv3/ItdoTmH+Tm3h+tkMor4m2X/V9lIQrTZ4LlpO5f7PC42LSn46v0PUMZ+DPeyZkOem37V0yX+Y9Po8oR8L7pheK179KYNHt5DB8MtRJhPISlQvMKR7pbjr1MyFjk309ANQ2HmMSjxJ8COgAE2bbPkhxo5S2tsdeZw X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(8121501046)(5005006)(3002001);SRVR:BY2PR07MB615;BCL:0;PCL:0;RULEID:;SRVR:BY2PR07MB615; X-Forefront-PRVS: 06891E23FB X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(6069001)(479174004)(24454002)(199003)(189002)(87976001)(54356999)(5001830100001)(33656002)(66066001)(47776003)(50466002)(40100003)(5004730100002)(76176999)(101416001)(76506005)(42186005)(64706001)(122386002)(83506001)(46102003)(46406003)(5001860100001)(189998001)(5001960100002)(68736005)(23726002)(106356001)(50986999)(92566002)(5007970100001)(15975445007)(77096005)(105586002)(4001540100001)(110136002)(4001350100001)(19580395003)(77156002)(97736004)(97756001)(33716001)(2950100001)(81156007)(62966003);DIR:OUT;SFP:1101;SCL:1;SRVR:BY2PR07MB615;H:localhost;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BY2PR07MB615;23:IuKo/Yj2TlY6T6n38t1YAl/Vm/YxE1v08Jthz7crZv?= =?us-ascii?Q?pWBELHmz9nXojDBkTDes6KWBbIdAAvkGpfDiiSfdbHOnwTegiee93BYyQLde?= =?us-ascii?Q?JitfPegH+D7gKpZs8I3/IhE/KtfJzvRZOhcoAaIavcCoDEa1XtnZ7/xD9lym?= =?us-ascii?Q?yf87v7M5Hk/pe5pe6MpACLgfdlP3xvBQF9eICdw48QGleT+Mh736jNCrAxzH?= =?us-ascii?Q?vc0K38Xe1sJmS/hinfFXQimjMVpKs9vdqSJQL1oCM7/rCATHU4O11LATnrq6?= =?us-ascii?Q?5QXmPAVgeFK8h/s0PhG9Xc0wLa3qVf9ARPT/zpkHUGfTyVXAUKMxwqc+rw2N?= =?us-ascii?Q?ItxX8ldiCxhG3NrwI7XTvTos1WrEyfhyMUtJrjYsdevAKg4GV2xIly/M5GvC?= =?us-ascii?Q?4w0yZWlNNmcmK20ccbH+XK8fNJbxL4t64r2gq2P95MYitHNebzYgljALPOTQ?= =?us-ascii?Q?F+UWDNDwNG44BOHaEqB+01s4I+3HXpLswgMZsRpEgHvyv916cweLEWUP2Qxu?= =?us-ascii?Q?oIBQNO++aKmttz6BMTpdpaQtAQCZDT3mDQVX96MyeMs/r8+OdyOn4NGo3k+d?= =?us-ascii?Q?ej3uMjRatcWic/gmH7ZHmQco7vdM7roxGSglHy6uj8UuC3umOKiKMoomPFTy?= =?us-ascii?Q?wZKK8ciky3b8z+ULFt/YbetvOaEr17hV9Jp7n8xvBAyDBUzzqrYf8wouL+H2?= =?us-ascii?Q?GYZFX0xWJiPThGENUm7a/LfKjamGk0psRPwVR1tDHm9SE7SIahZDf5uvmW9c?= =?us-ascii?Q?j9WGkCWwRsdNzJalH9BsqSnG9mwwa4PqdFEuUNSW7mgJ0ueH1gZ0UR5GvDz1?= =?us-ascii?Q?lTVYzSNbw+jw8am88XYlW+aZC7aWFI2gtwgK8QsdzVecuJOL6Q0MDlKfrHei?= =?us-ascii?Q?5Ay95Ci+8lBrX6+OQ9VjOI0jkupBB9e1fPMCTv7dvZkUHd3XIcA0TtZsaD1Y?= =?us-ascii?Q?fLlCNQMesETxb42wUotlqHK8mmqFZpPj0I8U3c6OR/OWQq1n/isz+UZArIA0?= =?us-ascii?Q?V4b58EzdxtUU318kR333dwYvdcTqnDnyzpZ1nmp93sj4PgMPUBMatBO2F7hj?= =?us-ascii?Q?QFwjrgLm8zHRUx2JMHmYjAKsVE046QHoeqkM2x9CFtsN/mMDKrKZjKDZwR3J?= =?us-ascii?Q?CV25QfPFDHA8kJFvqenQa0vPFkTDHokNZ53xABsl6pUoUw1TEIPB1KK1GrNE?= =?us-ascii?Q?gcxy/R/gTrufmpKjjPV5NhAmVxFZeKnsS76xjwZ/QsbNd+NbHppe3AKgVrB6?= =?us-ascii?Q?KELBGdi55VELGpVVJAW/jbr2mPs0o0D/2UxY+R?= X-Microsoft-Exchange-Diagnostics: 1;BY2PR07MB615;5:wASiRevVUCTiqBMZDL6wv3QetfxNlcy3vhTdoO3w0Str+0Zul6jw8gU1s9x6M7+kFKIlUywRc3BQrlaXsjMv1yXaliXEOxsnWYASKm/+rPGfIpdJxCjUqpSyY+1qM3Mi/Tot+PplgvO6dU66QYoSXg==;24:c86W9OQmFu8GgBZO+DKHf7Ja66yHI2O03erqon6GvkZcgClJMgmOJT7XMkQCAo9q1AY9em4yIZ3/fHctWJPzbb8TdaiZyx3EtkeNxQfKoiw=;20:4aZlBL21OeRc7yriRY2kpunSjisffGNloVjWoJKf5a2pNbpYw6cz5oIJywvll+ZqTs/76f6w3N4hG5wjItNFxg== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Sep 2015 19:52:53.2881 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR07MB615 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Sep 04, 2015 at 05:40:57PM +0100, Suzuki K. Poulose wrote: > On 04/09/15 17:04, Yury Norov wrote: > >This patch is on top of https://lkml.org/lkml/2015/9/2/413 > > > >In master, there's only a single function - > > update_mixed_endian_el0_support > >And similar function is on review mentioned above. > > > >The algorithm for them is like this: > > - there's system-wide boolean marker for the feature that is > > initially enabled; > > - there's also updater for the feature that may disable it > > system-widely if feature is not supported on current CPU. > > - updater is called for each CPU on bootup. > > > >The problem is the way updater does its work. On each CPU, it > >unconditionally updates system-wide marker. For multi-core > >system it makes CPU issue invalidate message for a cache > >line containing marker. This invalidate increases cache > >contention for nothing, because there's a single marker reset > >that is really needed, and the others are useless. > > > >If the number of system-wide markers of this sort will grow, > >it may become a trouble on large-scale SOCs. The fix is trivial, > >though: do system-wide marker update conditionally, and preserve > >corresponding cache line in shared state for all update() calls, > >except, probably, one. > > As I have mentioned already, this patch (and the per feature functions) > won't be needed once we merge my series (which is waiting for the merge > window to see the public lights) > OK. Than waiting for your patchset. BR, Yury > Cheers > Suzuki