Received: by 10.223.164.202 with SMTP id h10csp1431386wrb; Wed, 8 Nov 2017 04:15:50 -0800 (PST) X-Google-Smtp-Source: ABhQp+TcXGk6Zpi8844s2gqUNHcw0JrHOrQrYzrAS2YUDGMlPGdLvtIVcFrLGKmxo4lsgyPz9Ajd X-Received: by 10.98.158.211 with SMTP id f80mr337875pfk.156.1510143350378; Wed, 08 Nov 2017 04:15:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1510143350; cv=none; d=google.com; s=arc-20160816; b=y5S8AVyr6MBmz+FnnQLH5yko4G8cM/qDACtzFibJaWD/lDXxF58uuEpw0QzZUPvJE/ yn497ivVUjxQ9m5pArmwJQzUdh43CatOar6t/pnZIdVYsNO0iJMolYyr7V9QNTGn1TfF c+yAscQD1HgudFYy2WCeLcMLzuzEncbWr+JCoke7v+cehlTprRDQNsDtYk44HocYgrG2 O90Bqy8uvN1IiEE0jemKHlQu2CM5TWOzeEta+ZuD6vhO/V/g7r+8gMRrF09ZVuznvFOJ aG+Vk3xEe92z35EILigD4tztyodMF1TlH2GNQET9vimr+n+44kAt6mMzOOnngcB5vnH8 5FuQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:spamdiagnosticmetadata :spamdiagnosticoutput:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:dkim-signature:arc-authentication-results; bh=s66DK1Lb6pOZLCdwF1jg5oNTBrb7BNFnQzdrrghosL4=; b=pTMtHo7USEC7hW2gBi/sdn5iPs/K6Hsrlsd6CinFhFQE0sEw1qYYiNHJr7g3o0d45i 8fkRGHuIU4qta/XeC/Bq0DSpalYNcBelmgq8/UTA9gF8ZHDpuSuSNoiNva2IcrA7q/hM l2Mdgi2atMlxQ5fwVxq6LH0tOvbMLfj1YILAmmU8dCIvlHUPUb7st1o1/eQJoImxqcP4 3tOThf+x8XK6sDIijIz6DZJnSPxlf0KKjCNODPLjypGZk8Ks74gxqvZ68xGv09+wX8BN WvEjiDirF9c+X2rL6wkaAybjChgeSCye4SWJ1paCbeGwX9HntqE5WiNdT24u7ptDuZwg BgOw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@CAVIUMNETWORKS.onmicrosoft.com header.s=selector1-cavium-com header.b=kG47o2Qp; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w34si3762241pla.356.2017.11.08.04.15.38; Wed, 08 Nov 2017 04:15:50 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@CAVIUMNETWORKS.onmicrosoft.com header.s=selector1-cavium-com header.b=kG47o2Qp; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752407AbdKHMO6 (ORCPT + 81 others); Wed, 8 Nov 2017 07:14:58 -0500 Received: from mail-by2nam03on0054.outbound.protection.outlook.com ([104.47.42.54]:27537 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751931AbdKHMO4 (ORCPT ); Wed, 8 Nov 2017 07:14:56 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=s66DK1Lb6pOZLCdwF1jg5oNTBrb7BNFnQzdrrghosL4=; b=kG47o2QpzfyLecf7n5TMDDsuHf/+W3pYn/bTw3JJGXuaF14M+4vJ5eh5lTaQhhGL0fKZnzECeTgDD+Je3U8l1/rtiGsgy0OltFDzOj70vxS1POZDtSPB6gLsEAEZKq2UaW92xisjretmTA1oWqf18BOxt3nksFgmHki8+gdZv+4= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Aleksey.Makarov@cavium.com; Received: from [IPv6:::1] (81.19.133.99) by CO2PR07MB2485.namprd07.prod.outlook.com (10.166.200.143) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.197.13; Wed, 8 Nov 2017 12:14:50 +0000 Subject: Re: [PATCH net-next 1/2] net: add support for Cavium PTP coprocessor To: David Daney , netdev@vger.kernel.org Cc: Robert Richter , "Goutham, Sunil" , Radoslaw Biernacki , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org References: <20171107190704.15458-1-aleksey.makarov@cavium.com> <20171107190704.15458-2-aleksey.makarov@cavium.com> <1d765627-edb1-cc0f-65bc-cf061687a8c6@caviumnetworks.com> From: Aleksey Makarov Message-ID: <13187c17-6a73-f916-f919-2386b55ce047@cavium.com> Date: Wed, 8 Nov 2017 15:14:30 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <1d765627-edb1-cc0f-65bc-cf061687a8c6@caviumnetworks.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-Originating-IP: [81.19.133.99] X-ClientProxiedBy: VI1PR0102CA0022.eurprd01.prod.exchangelabs.com (10.170.224.35) To CO2PR07MB2485.namprd07.prod.outlook.com (10.166.200.143) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1e3bb2c0-e518-4aa8-1612-08d526a250bf X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(2017052603199);SRVR:CO2PR07MB2485; X-Microsoft-Exchange-Diagnostics: 1;CO2PR07MB2485;3:1iFvL3AzP+y0j286vW4sp/Hb0uWm2taJDH4YBztjnLNaqW84BDHLqUnIim2+9oPdGLsdHbYDbC1cqbYVRINJJZaUfAAh334A/OLRivH1vu6M8q7k7Jj6KoPJCiX2WXl92LtRUpZWWYToM09tes5fU/kQaPgS+hcW0e6dgGZ9ghJUlq3PpqNaSTOHdjYA1yHJxjRvwXwGtKSqXeJbU+TjGFDC5d+7Lwk5QSdZBelK3Rsgel4ozFq6DHMB4i6ZxfYR;25:NAAa2o00K8/Z9JphtF5ceNk0QLv/fDzlv4HcthNtj1E/yward00nBtSorWNwuvOrVyIrlpFycLsDgqRJtius24jDMqMURRZBvrMZUJH5MNfaskAXZrbLLMVTbfYE351XOYyYCDyz0JErUq9wAVQOe8208srhNHQmhgMMykX2CsVrMIJR0IQFzNOVRqJMwv7fN2qfJyHId1ZrGx2MuXChaDtnOeNWR4Z7Oi38eQRYMUCQ31UDmb+EzJ4zPGrw954DqBtHAqTgmax7uoSB4UkxjsnWls9xMtPRKD0bLOj77q/+sYwj7IENzhGYeRSq2GQN8iDrpVssmLu0ycmyNzQ7Rg==;31:H0vU4UV5IK2okgKDETKrXvFuQMZs1Y9KfVEnyXD/OIwcAPIEuk/zv/L/nk21guGHeTOJSZWFcdfSdyQNUtJfMnbk1Jb5WNPyuhQONJ+7xWhBIJZoZc/mnOqZirrwqmMZ3sAzEEgYUyvy5UU1MIaoEuOWC3aV29hnxCfiswURpBaz2uLOMI5FRkGAgQbQEm52aMCB6pRl2sMzRLkI+DutK9N4SrlNkRNKeSQ98+dHRvo= X-MS-TrafficTypeDiagnostic: CO2PR07MB2485: X-Microsoft-Exchange-Diagnostics: 1;CO2PR07MB2485;20:OjmeKIsqm/7HWTAIGkZaOFeBe2Y6Kz0og6m2vf4D6aAingZn/K9P1HplFNwhkjM/ms9vhPKnLMksV6Rb82CoMbJuj8YII9ZRWrKYv82dzuRRhVfG/tgoHc/44JzSZCAduGapaM/bbYe2xmNutMP0nSGjl8Xn3+Mpz/Ki/LSGRhbrys+I8mE5GCo3rWv4pf5FXKbBnef1YatCQgvwNz2OPApTt9IjVjyRDsbvFo4uDUWyRpp28AMj0IGtXBFWQHtBQbJ8q49oKMpRL9OyMwjczQFUt90SlzQOcs5QTAJc9N82FjWfBsuJNoK7DEGpBsfhr9eC5Wk5HbufSDnr8OrK+/m4nIGnT75yvcceYX5Q70+hgMqM18WLVdlwkTEIlPvaZrpicJTjLBDLlnU6MAhbZUytuF3qxxlB+bBfzNfYT2B4CPCp/0AdB2viEcVzv41AcRuIaS2Ooh/vezxnluSBxuwsT+Fu0t1baCGAeYmkOIOYHCPiNP2mxCb/vsQH5M+s;4:LV2GXEwZU5ps/XA7N4Jqd1+IV3Hhyav65jy8S36P+CdVp0fz4kXfZqPXRRRZpMcAkwxzMJgTOGkn7YcRXp6m/3dItIDtIIRrqJdZ97imggO8Ob7JghJY7FSaicOUuetBnvPWYZjT7iiWU8KXPC+zt3rKT/zpAuK7qc7GVSihsi3Y3crSryUhyLQc6PzEENca0UyNIQRND+S8Jqz5zqYLvgXLkuV/279Cjj3O0m16DixTzwomQTPaBcX5W7U8b5mZ4emgyAGZsw2gduxSAzxiUg== X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(100000703101)(100105400095)(3231021)(93006095)(93001095)(3002001)(10201501046)(6041248)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123560025)(20161123558100)(20161123564025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:CO2PR07MB2485;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:CO2PR07MB2485; X-Forefront-PRVS: 0485417665 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(376002)(346002)(199003)(189002)(24454002)(54356999)(101416001)(47776003)(2906002)(76176999)(6666003)(2870700001)(105586002)(65826007)(81166006)(478600001)(53546010)(229853002)(31696002)(81156014)(50986999)(68736007)(53936002)(305945005)(36756003)(2950100002)(66066001)(50466002)(7736002)(6246003)(316002)(65956001)(4326008)(25786009)(65806001)(16526018)(77096006)(58126008)(6486002)(8936002)(189998001)(8676002)(54906003)(72206003)(83506002)(86362001)(106356001)(1706002)(67846002)(64126003)(97736004)(33646002)(23676003)(3846002)(31686004)(5660300001)(6116002);DIR:OUT;SFP:1101;SCL:1;SRVR:CO2PR07MB2485;H:[IPv6:::1];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDTzJQUjA3TUIyNDg1OzIzOnVnQ2dBNEVUdk9ubDlsOHFwMStsMkVBRzB0?= =?utf-8?B?RlJ3c0FNWkJiQlVlWUFOdTlwa2RITHV4OWJYb0xKN0ZwejhmRU5DRStnL1dT?= =?utf-8?B?NkRZSS9FM05MWVJWZnlMYkVrZlFaWnFkRnhpcWJuS2syNlBweUNsaTc4d0Rh?= =?utf-8?B?bjFueURYQmJmdFlGQWt0MTJkbnFpSUVNa2ZPL3pJcTR3cVMySWVHTEc1MGQ5?= =?utf-8?B?MGVwQUJHOVNnTTdNQzJIQUFPay9hQXgrYUhDUndyTElzVFVNMlQ0a0JTY09m?= =?utf-8?B?UEpycHNUQndyc3c0dkk2TkVOZkV3Y3YrVS9hVTZ3eTdoUmYvK2hpOU04TXJo?= =?utf-8?B?Zy8xQlFJSjMrZGMxUGE5b0N6R1ZOYXZSUlNPZkl1NWs1ZDVMb2dKZkdmTjZI?= =?utf-8?B?K3JmY3JWaUhHTG5rYjdmRlRRUFVieUp2QmFtWThKL1V0NUJjdVhiTTFja2hl?= =?utf-8?B?THJ5YVBvSmp2STMveHhkZmRqQzhqcXdsallwem9iNzBsQ3M2alFqSlhGU3VY?= =?utf-8?B?YVI5YmJOcUVLUFplUUZxNFkzdTRUZXlDWE9GNjNhNDN1Ri9ocHpRVXlmUmd0?= =?utf-8?B?WlJyVXBkWnU2bkdneXFiQTVzamdEN3NiVmJlOWhGT0x0V2ViU0RBY05LaTVq?= =?utf-8?B?cldMVytDdWNpZjRtZFJuRTk3RTlkVTJ0T2dyc1p0UEdJcFIydFBDTjNJYXF0?= =?utf-8?B?SGdHai9XdHRXVnBOZXNJS014ay9Ed0JFblZGdnZTQnhvMER3UXNJQVYwaGhH?= =?utf-8?B?WTVoam1rWDJ1b3J0cXk3c0NSamhnWGpUL0t6dXNKaitqU2Y2ZmN5bnlJU2F4?= =?utf-8?B?WVFKbmt3WDFvL0lOajg2M2Nsa1BUSFY0U1hOaHRqMWg2N1NFMmtwMWFsSHBo?= =?utf-8?B?MU1CMU5Fd0ZuZXNlcGlyU1BETzZtTUNGK29iS2NsTWFlQjVGNXhpYWJMT2p2?= =?utf-8?B?M2s1RlRZQTEvdVZVM3RLSTc5NHdwL0Mzby9wT1BHZnJPVzVtZHRNbGZhTXVP?= =?utf-8?B?SWFtOE9sK2FnT3YxYnlSKzRSdk1JWXl1RHptR0RxRWNjK0MvbUY4SVVrMDRN?= =?utf-8?B?c2RBaUZKWjJPTjBiWmozSE1iODVjTnhKTjEyRXhCNC9PdnJ2c0lhR1lEQ2U5?= =?utf-8?B?TnljSitMSG1LcW12YVZtSWtCT1QwbzJSN0c5OEdGbUdJc3JhK2RNeVl0ZDlv?= =?utf-8?B?SHhYODZ5RU43YmdDSVlQTlFmVzZhUjFoMHNmcFI3MUszZWhVS3pISVh0N0Fn?= =?utf-8?B?bi9kUWV4U25NcmR0U01IZ05zNUlrVlRWR21QcUpaTDhlZSttbVZjTVFYNG1B?= =?utf-8?B?TStBZXZpSE9weThKbmsvWVdTaGZoMEZrSUMrOC9XY1B1bjdnTnNEaDkwYkRF?= =?utf-8?B?R3F5L2JsRDRrNS9HSmZmaWdxQjI2bWdJUnJPU0dkcW9Ib1Mxd1Z4MnRUZmFT?= =?utf-8?B?SVBtQ2FCS0NRU0ZtSEF5YXlKQmNUek9MMDhkVGtNUU5Ya1dvNUhKQURmOVAr?= =?utf-8?B?SjFvaFJqMi9oR1J4SUl1a0xOemN3S2swdjNETWtoQUdCTDVmVzc4SmJYQzNv?= =?utf-8?B?SThKU2sxM2JLdm9oMXhoYjEvbXN6UnZ1V21aSCtkRng5YnlucHhscFdWS1Jo?= =?utf-8?B?eTYxYUdpVm1lT25LblZsRTNvZmdNVkplM2VXVzdNRzd6M2FnQjN5eDdzN2Fl?= =?utf-8?B?SjVtTVFFd2JIZEQ2NHl6UnVSQWo1SzdhdTlPZDFOY2VTdG5qZVpzZEMrbCtJ?= =?utf-8?B?RnY3RkI1eWRTNjBDQ0ljNE9rcDc0N2FpTEhtSTV4R1VCWlZQQ0JHWVFjeDBK?= =?utf-8?Q?swZH7f0Gj4D92?= X-Microsoft-Exchange-Diagnostics: 1;CO2PR07MB2485;6:SwGYGlfVMG/wWEk/7jUyDxfmkaVJeO7rBz3RO+oAoOXOnUlW2PAfIvbVOLwyQkyGPk/YHjJOoxNQJqOFmXRr1/F5tUgvykVx0j6w2Ndw4WepZa51Xzs6g+2YKpaA58US99mQC2nudCVs6+Va1pC1NYEyiI/08H5aSPIG6snAZTS+qcjcwgiPTYsywgcNDnVJ667RpU1F6Lfti8Wc+AuhMaaBeNIRGTWdAQhTlwPtz4zIXMM38gZHSlkvx3nj06li1C7CXGyPTtxp30k635UTaRdZc4ZVv9j0iExJZS2iRQhodyWVQu9/PJD0V97QfGH5zUOXj9SuBlo8kSCjyskd8jAHdez5BJFuI+FZkvg4S8E=;5:qyLIsfHSCiR283c97DcbIii1wG13gcjm6Xg9ehzzZObKSj4EyU4XnXesoC4VuzsqG7JXmoB1Fw8UDkSeOIWnm840F521EpQ940fb9oIz8uvA3C61WBg4yKduOVKLSn6K8dbll6IsOKhJ65nyAzQvy2xmCbwN/I9WRBHkrTRxXyY=;24:SXMdywMrUWX0BJKpZVzSuVqxu4sS4Yk/i7MsPjaiTnT6R4Ve9KFoPkrLKdHnJR6+dxhclSbpkwk6SYJ9scTDaujHz8RzXeqhhq1+lrdZmPI=;7:0Ztlvba6cdNy9C3DfvJzmdXwm3jvfGK30mYEQD3cjkxDzXN0XggPgXBH5720ngQ2FPhNY91NXP/UnDvuiIOgsdEFggX8oEidhNlinkzr510UEZ8acueebOwN8VAzIFfwpQfkMoO3G7JCQtMrbNBkkXK+DspUjQi+xdmNcDwrGvC2HNcf9HSbuVhn18/Ip4G+YM9Ie9bvH5GDUvdMa417wU7dSpJ8SmKnKJ6yN3e53SY3X0pzUIIrcOfhvIbjEn8j SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2017 12:14:50.1550 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1e3bb2c0-e518-4aa8-1612-08d526a250bf X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO2PR07MB2485 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/07/2017 10:49 PM, David Daney wrote: > On 11/07/2017 11:07 AM, Aleksey Makarov wrote: >> From: Radoslaw Biernacki >> >> This patch adds support for the Precision Time Protocol >> Clocks and Timestamping hardware found on Cavium ThunderX >> processors. >> >> Signed-off-by: Radoslaw Biernacki >> Signed-off-by: Aleksey Makarov >> --- >>   drivers/net/ethernet/cavium/Kconfig             |  13 + >>   drivers/net/ethernet/cavium/Makefile            |   1 + >>   drivers/net/ethernet/cavium/common/Makefile     |   1 + >>   drivers/net/ethernet/cavium/common/cavium_ptp.c | 353 ++++++++++++++++++++++++ >>   drivers/net/ethernet/cavium/common/cavium_ptp.h |  78 ++++++ >>   5 files changed, 446 insertions(+) >>   create mode 100644 drivers/net/ethernet/cavium/common/Makefile >>   create mode 100644 drivers/net/ethernet/cavium/common/cavium_ptp.c >>   create mode 100644 drivers/net/ethernet/cavium/common/cavium_ptp.h >> > [...] >> + >> +/* The Cavium PTP can *only* be found in SoCs containing the ThunderX >> + * ARM64 CPU implementation.  All accesses to the device registers on this >> + * platform are implicitly strongly ordered with respect to memory >> + * accesses. > > I believe that is not correct. I/O register accesses are implicitly > ordered with respect to other I/O register accesses. However, with > respect to memory accesses, no ordering is imposed. Therefore, one > must be very careful not to introduce subtile memory ordering bugs > with these things when using the unordered versions. I will fix it in the next version. Thank you Aleksey Makarov >> + * So writeq_relaxed() and readq_relaxed() are safe to use with >> + * no memory barriers in this driver.  The readq()/writeq() functions add >> + * explicit ordering operation which in this case are redundant, and only >> + * add overhead. > > > Also it should be noted that on production silicon, the performance difference between the "relaxed" variant and the normal variant of read*/write* is often negligible. > > >> + */ >> + >> +static u64 cavium_ptp_reg_read(struct cavium_ptp *clock, u64 offset) >> +{ >> +    return readq_relaxed(clock->reg_base + offset); >> +} >> + >> +static void cavium_ptp_reg_write(struct cavium_ptp *clock, u64 offset, u64 val) >> +{ >> +    writeq_relaxed(val, clock->reg_base + offset); >> +} >> + > > Are the PTP register access really so much in the hot path that using the relaxed variants can be measured here?  If not, would it make the driver look cleaner to remove these and just use readq/writeq calls directly  in the body of the driver? > > David. From 1583463476772364724@xxx Wed Nov 08 02:34:08 +0000 2017 X-GM-THRID: 1583463173264924659 X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread