From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753100AbbJFUjB (ORCPT ); Tue, 6 Oct 2015 16:39:01 -0400 Received: from mail-by2on0127.outbound.protection.outlook.com ([207.46.100.127]:34631 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752616AbbJFUi7 (ORCPT ); Tue, 6 Oct 2015 16:38:59 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=scottwood@freescale.com; Message-ID: <1444163930.5336.306.camel@freescale.com> Subject: Re: [PATCH v2 01/25] powerpc/8xx: Save r3 all the time in DTLB miss handler From: Scott Wood To: christophe leroy CC: Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , , Date: Tue, 6 Oct 2015 15:38:50 -0500 In-Reply-To: <56142F4D.5090405@c-s.fr> References: <2d35de4435e873f23d37e3b5b5fb34c64421f136.1442939410.git.christophe.leroy@c-s.fr> <20150928220717.GA6161@home.buserror.net> <5613CE1C.40806@c-s.fr> <1444149995.5336.282.camel@freescale.com> <56142F4D.5090405@c-s.fr> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.16.0-fta1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Originating-IP: [50.157.106.250] X-ClientProxiedBy: BY2PR02CA0120.namprd02.prod.outlook.com (25.163.44.174) To BY1PR03MB1483.namprd03.prod.outlook.com (25.162.210.141) X-Microsoft-Exchange-Diagnostics: 1;BY1PR03MB1483;2:Mq80gP13uBvHKXqqPHAYZt7fuCTFBt7oq7/e61HRdjSSoNdtxsiAG/96YSZP1YSNPT1kQRXRbPyi5TzPBjVc0LVPHL5zy71dP+iT7HiEy0RoqkTA9WQLoc4FzjlLfGZO2m9eBUM6q4CEmMLNteGH6OsuIma8GNZdbc6BSCZVZRg=;3:L5DmF4AJOv34lE3lZrObBAd5ZdgmP2Y8DyOF2bBPkvKPVUcpfVbthhug0xVKoLkt2J8W2YUgmayqlaIUW1Lyr4/A64tJFvWkcwCWY0pnKQbG3mCF0x40MZKRz2/55FBVUA4KWNAmuRISVsFh7LwNEg==;25:25jDnp21qVaQC2Dz1m/XvoQFPRf070yzNTJpajgla9qKuetOuz6z2EaEmvlyXBQnVKwZUrphEvXwEXpZMYupZk8gATUaA+MR8EqD237fufC1dtLB5xRFBxW/EKsTE+LlWZ+gtiLOPvygzPjJmoLLk+lWKKgCFjpNKJrjuW+cfi0axZuNK5xy5k+qwhC6wf4abEwY/kALl0OIHgIkBGQmue9GTvFaULTTAhpDEHNiMjFAHZkDc26o1JB0EKXDzROhSFw010UUH7jq0v+Ey8k5Pw== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY1PR03MB1483; X-Microsoft-Exchange-Diagnostics: 1;BY1PR03MB1483;20:/icsXcDWwOn2sX+bnP2CS6XmfzYNMrkl6+8Rr21X4SujNnukYwsz2I7cmYUFx+psDdm9BKdKE1awt61W2tgCx6/WVhHCzuHqvy1D4oo98w4YzVUI3Y/gT8p/Dabujgjmv5LFhQJPtkL8lfc+665R3s9eKO45SShxuzaSDXyzKf6nqRn+s/twtArBEaN+xvgsMbJ3Mp2ZWqSaWsupEKWXgphqxiYeRUU7oltFWAmFCM5a1sgWbdG7XRFwz6P5mozqdRdx3IDW/qhJ6lAEUu+ubtvcLuZFtQ21hLCMqTOl42E18emqA7fNC/92QrTlRaauaBVEPtqggD07CStdVRODnCkrTqUv19oRoS4aoeOtkPzU1rQ/zFN+/QqLQRWzXaEsnMsKtMM0Vgq6rUGWbKkGIyhy7ebkpTejJoi4p1ur7Lq/GiZLyEBZz/7LzQO2w/taDB269QRmbC/cKBti1Go8Ci9HupHJWpvKr5mWr0c/ZHFo20rwTN9AZP/Wtj5A0WrG;4:KsUc5/jsVCjLiWFBiU4+0A6WYriwTlFdSFE4WFesiZrZV8p7oxgvzh1IIsfJ6uhgKvg5j+WljEbtQHxLm0guIKrmXNSSVQFO/zrqQud458y0s2jXo6T664DluRxr5LENe9aVdkS+ehel/YCnReB491PNvbvLtwyUcedw+s+D0KSuHNuoYzBvSOu7U1kbsYJU0LN423onidCTlyIYSc8RSGM5MLZ7vcLkwyQQi7+Xt7YZazuuMSfDLI1jpARcnlfMpCnVpigtu9cSefaCZbpD3TFiam5epnv9xUCR43MjifeS/T0H9LuU0qqCYfGwlkZ8Q6EvlU92h/EEX5Mm03scr2T9SF2560RLugaacws1B2A= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(520078)(5005006)(8121501046)(3002001);SRVR:BY1PR03MB1483;BCL:0;PCL:0;RULEID:;SRVR:BY1PR03MB1483; X-Forefront-PRVS: 07215D0470 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6009001)(199003)(377424004)(189002)(479174004)(24454002)(122386002)(5007970100001)(19580405001)(189998001)(23676002)(46102003)(50466002)(105586002)(77096005)(106356001)(40100003)(103116003)(50986999)(64706001)(42186005)(87976001)(5001960100002)(110136002)(47776003)(5004730100002)(76176999)(86362001)(101416001)(5820100001)(50226001)(92566002)(5008740100001)(66066001)(2950100001)(33646002)(36756003)(5001920100001)(81156007)(97736004)(93886004)(99106002);DIR:OUT;SFP:1102;SCL:1;SRVR:BY1PR03MB1483;H:snotra.local;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTFQUjAzTUIxNDgzOzIzOnNoL0hvY3ZXNlNXZmxSSFJmSjdsaVhINEdY?= =?utf-8?B?RVhLRWp6QXM5U01IRk1RMHlsL1NpSnRxbi90OEtxSUZCSkNCdnRMU1Qwc0tQ?= =?utf-8?B?RFBpWVR5RkFWL1FsOG0wUXpjN2lyaW1MRUpMNmVEN2hKU1p6bS92VUJ2RG93?= =?utf-8?B?eGtoS0prbWRpL2ljVW1McUdlWEFFRHJvSzM0a0VPQjRzczZ0d1R5cmxyL3Bn?= =?utf-8?B?Ym1IcnZVVFdjYVdkTmlNa2Jva2ZmWi9xYWtFb2k5V2xVb2FOQVc3N0RsdFF3?= =?utf-8?B?WW5yRkNIMGxQQStKRUM4VXZRbXdqQVZLM3JWTkhnUDlWNWovTWVQa1kybmkx?= =?utf-8?B?SkxMOTlnM1pIRzRRSXJ4TmdId2dNaGs2VURncE8vMGJRUjM0TS8ybVBsQklM?= =?utf-8?B?NU5UZTF1UW9qMkxiSTlhZTR6VWF3enlMNXFhU0hHdGI4U0t6UUFNczMzQk93?= =?utf-8?B?QVV3V1AzR1RjSGhkWWJKOXZKc3VaRHRnMTBNOHE0SjJSWStPWDFnODhlaEpG?= =?utf-8?B?Z0QydWhHTUoyODJJRytkOWdvTUFxNHpwWEdGVmpPVHdxa1daM2g3bm95eTM5?= =?utf-8?B?dEpnZ3czd0ZPYzZLN3BidjYvM2NQT3BBdDNHSUl0bmFTcDJiaTRlR3FjN2JS?= =?utf-8?B?YVpCSXYyVXQ2bUNOekZlelh6TVZtN3ZwVGZudEdYWEo0eXFYUkRJZS9BOGd6?= =?utf-8?B?Y0ordGwxOHhtL1VuVWl1RzV4WmVPMmhlOW1jdXEzR2ZhN1VBM1NqN01NQ0ti?= =?utf-8?B?Zm9qTXkvKzlLakpxVENNUWRBQ1JuNVAzOUxuYTQ3Z2VmYnpER1l4bm15OGZu?= =?utf-8?B?MGV4OHdZME01V2xOS1FpUTdodHJJMjdzK0FLQzNUaE9CWExONHBza2liRDFN?= =?utf-8?B?eXVLbzZGNGcvamZRYkw0Zkt4SFU3NkNDTEk3dFMxa2VJMTNRNVJaR0NXQVlL?= =?utf-8?B?U0ZnNU1LSm50VkYxQ0JBNjhWdW9xVzR0em1LcDZBZmVoeWJJZGJLLzZIQXVw?= =?utf-8?B?bStJR1ZoalhXaW5hR1F5L203VzFKV0RPVmNCZjZYTHFjbzVkYm9ETTdrbUNl?= =?utf-8?B?N2I5bmhzcTJlbHJ3clVESlNTYWcvWERFcDFLa2ZlOFBqSEgyTi93Zzg5QkdW?= =?utf-8?B?UnVhZnFMbTI0SC8yOUFOUFFDSVhwMzNlZnZndTFUaXdJVnJ0VEZCZSt5ZGxz?= =?utf-8?B?b1VJM3RRNUdKeC9pc2Raa0dhYjRsbE52eHdIRzhPWGN4RHYxS0NJOWtWTHJS?= =?utf-8?B?Mml4TmJXUmJrUzdwalV2Umc3WEpPREFya2NENnVSYjJpY2JtTFRDcUYvQW5v?= =?utf-8?B?R1JhM1hCYWhaNkRDZ3VWV3pRSjg4QW16eG1hVkI1V0t6d3E0MkxNaWNLaG03?= =?utf-8?B?ZHVwejBtck91VjF0NmhUR1REbkR0WHBoNWtscm9YYnZmWThFMEp0MFhxNldk?= =?utf-8?B?bWtuc2JvNFZpMHFOR2s2YkZLUkFrYWFlNFNGQTI1bjlhbU1ZekZWZkU5MDl1?= =?utf-8?Q?3VC0uy+sztwV+i+bAMDX9vwHInAFZ4BGZz3usO1uwRAAe7?= X-Microsoft-Exchange-Diagnostics: 1;BY1PR03MB1483;5:oXJmzrlHsCV3FNYvQh5m873kniA4LK8bktHjHu3YdAi/YgoRQxCdmpwqufPBN4RP0d8fdJuhS2gir5+ZX/zCnQ1dUNFYfs6VfrABAxSQveXoNy6uiL1trc7rMVUcA02Nhw/IFLPmZPdcsQ4v3IE6Ig==;24:TgkQa2BPqhnrtfMgEFPKgwi6D6zO8TeqmzfNFtjKoKFXMkAIiZkNkBkbfZ8uTDYqCWzA8n1QPCLAhLCmueyTfk+f09rgj6jFtoLhYPHn/EQ=;20:/XiS+ux8O2+Wgrqc+aTigGnkNoT1zI6s2bmvbYvtkHJKwNnYOtgBKCjwxnOT920rfUfh+Ht39Faa+BoniuLnaw== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Oct 2015 20:38:57.5798 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR03MB1483 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 2015-10-06 at 22:30 +0200, christophe leroy wrote: > Le 06/10/2015 18:46, Scott Wood a écrit : > > On Tue, 2015-10-06 at 15:35 +0200, Christophe Leroy wrote: > > > Le 29/09/2015 00:07, Scott Wood a écrit : > > > > On Tue, Sep 22, 2015 at 06:50:29PM +0200, Christophe Leroy wrote: > > > > > We are spending between 40 and 160 cycles with a mean of 65 cycles > > > > > in > > > > > the TLB handling routines (measured with mftbl) so make it more > > > > > simple althought it adds one instruction. > > > > > > > > > > Signed-off-by: Christophe Leroy > > > > Does this just make it simpler or does it make it faster? What is the > > > > performance impact? Is the performance impact seen with or without > > > > CONFIG_8xx_CPU6 enabled? Without it, it looks like you're adding an > > > > mtspr/mfspr combo in order to replace one mfspr. > > > > > > > > > > > The performance impact is not noticeable. Theoritically it adds 1 cycle > > > on a mean of 65 cycles, that is 1.5%. Even in the worst case where we > > > spend around 10% of the time in TLB handling exceptions, that represents > > > only 0.15% of the total CPU time. So that's almost nothing. > > > Behind the fact to get in simpler, the main reason is because I need a > > > third register for the following patch in the set, otherwise I would > > > spend a more time saving and restoring CR several times. > > FWIW, the added instruction is an SPR access and I doubt that's only one > > cycle. > > > > > According to the mpc885 reference manual (table 9-1), Instruction > Execution Timing for "Move to: mtspr, mtcrf, mtmsr, mcrxr except mtspr to LR > and CTR and to SPRs external to the core" is "serialize + 1 cycle". > Taking into account we preeceeding instructions are also 'mtspr', we are > already serialized, so it is only one cycle I believe. > Am I interpreting it wrong ? I don't know. The manual doesn't go into much detail about the mechanics of serialization. If it's just about "block[ing] all execution units" without any effect on fetching, decoding, etc. then maybe you're right. -Scott