From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753987AbeAMVN4 (ORCPT + 1 other); Sat, 13 Jan 2018 16:13:56 -0500 Received: from mail-dm3nam03on0077.outbound.protection.outlook.com ([104.47.41.77]:16288 "EHLO NAM03-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752553AbeAMVNy (ORCPT ); Sat, 13 Jan 2018 16:13:54 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Thomas.Lendacky@amd.com; Subject: Re: [PATCH v1] x86/retpoline: Use lfence in the retpoline/RSB filling RSB macros To: "Van De Ven, Arjan" , "Woodhouse, David" , "linux-kernel@vger.kernel.org" , "x86@kernel.org" , "Mallick, Asit K" Cc: "tim.c.chen@linux.intel.com" , "peterz@infradead.org" , "torvalds@linux-foundation.org" , "tglx@linutronix.de" , "jpoimboe@redhat.com" , "ak@linux.intel.com" , "Williams, Dan J" , "riel@redhat.com" , "keescook@google.com" , "luto@kernel.org" , "pjt@google.com" , "bp@alien8.de" , "Hansen, Dave" , "jikos@kernel.org" , "gregkh@linux-foundation.org" References: <20180113010728.27928.8537.stgit@tlendack-t1.amdoffice.net> <1515840369.22302.523.camel@amazon.co.uk> <0575AF4FD06DD142AD198903C74E1CC87A5C7FE4@FMSMSX151.amr.corp.intel.com> From: Tom Lendacky Message-ID: Date: Sat, 13 Jan 2018 15:13:45 -0600 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 MIME-Version: 1.0 In-Reply-To: <0575AF4FD06DD142AD198903C74E1CC87A5C7FE4@FMSMSX151.amr.corp.intel.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: BN6PR21CA0005.namprd21.prod.outlook.com (10.173.197.15) To DM5PR12MB1147.namprd12.prod.outlook.com (10.168.236.142) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 07cb02d4-ad67-46e8-f1d0-08d55aca8c22 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(5600026)(4604075)(48565401081)(2017052603307)(7153060)(7193020);SRVR:DM5PR12MB1147; X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1147;3:8Fdql/h7UKGNUOAbOosWJoge1s8VZ3tYgJKdRAHzHx+xlm9S2gbDdd7rLH9A4ukOBajvMrlrbZ8Ct/q+a+EurgdmJxTi0Aog+Wu3pCLqjZ4VEh9yYt4Gn8LUTDZRAQHuCKVmZCQzpD5aQ2z8SDmBEAy1wWOElW7qQ6NPUJWgVJB6u/U9VdVpIqULOjsmgn+wUKC7M+d5IMxI1pXLEW3us9CfCt1Gt2x74WzdziHmN3RAOBHbDKKQCW4yhNrra2nl;25:hNlb3IS/fXYHipvcHHpkG/W5Dz6t7TJdaF6piRzc/DpKaUfF4lSfWEuTO+0mqEp5DmHNAM1lAuBE0e1YqFUMiyTVZ/zG9It5QMGh+P9MA2xla5cyuZXjrOOZrYogBD+s6K0FByrJx7ua8WaQq24wTym5gCUymLSwMj+5DTqHj8/dDZiR5dBioR/uUWqWQN4VUqhCIPm3rQ7h5OB4XIBWj9iydaeZfnQzdCU/D/4pY8ZGdbbj2QLZiQRskdXaceVJ+lY9pY4B6Lj3ocVvDjJbgclIu5ZCobAaiOnnZ+tLy0zCvgl5hS54ZRCjNvDcGs4wDJ0ZMeZyC6J2NH27M09OFA==;31:nVDejhMwq7+MAifwteUIk4PUTNIpe9nZou7+YiewdxFwPCSdIEYKd5qatk46G56dA05FndFvdRvpFmEDMypLUWYXvH8z8wmouvZnft7CS1SUCt0VtyUMJb1ktSSudjPhb8+S678gVBFzJ+7jI3Polqzoyen0Kbi+ZShb+ziw/5p+8WL+utUGMibkmyL/DeqswvL0RRWCQhq3zyjva/nQuCIhXHpyXFqhUqIMNwQ6qmM= X-MS-TrafficTypeDiagnostic: DM5PR12MB1147: X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1147;20:vRbN6Sp/8KKeM5QV9SXvm0OM3w9uDjmLKQKna46Mm7AE7Im89/0KDvbHyORZVwghMkXAGCx0iIRblz6OH9zLpW26FIFzk9FeVPI4q4xmfxtxDLtGzDW+ReKjSKuUjLEjQH2eNj3xkQQyd2fRWBbGmh25IkvtUgNxOxD+Nq07Ib1zw2siEaVzQh61FRk7DC2WIENkYfy2LP3PX7DmVmUmr+hrHcbvZYzQEjvSRkkFd9q0Tf3Ppu2Cp4SFHawWhsf7yfXsQjwmnwzZGqmnePCCMADhpFAL+CLfv2jW/C7WeeyBEyId43nGzSwEOLy1Zujx72DgkpWAQ8pwoLEFtTbVosF/cvCAsl6Jv05njk+gnbnhSbIHZmbOplqFOsJKb7XuGkzb7A+JCCJjKNZyVckO3FqhW3zCcGZKETYiMan57hhlRKTLISTemwvCHOC9O6KoRUUJZmtusWjGozJPiOIyew3D+tYmNHWWb6MfhrxMvVpHfbTnBb+PB/VvTqM6HH4L;4:JS5N0el/bjShW5XhTy1Ah+uF+2WR9ykJ2qhUxIMBgpB6JX/FVkKf/FekUL0k+O8pgJuK5IvY43lwNS4yi6tBDBcKneKbkJbxswdY31y1HI6BsL8ufd6qqSLWZ3po0v8u9Fm37NCp9oUNGYdOGM7J0HcYCeC9JlPoww9/y7ATbRSgUfqrGPgQnxq0cH4lOUcLFEddps6DEmZa399cYsv2xNieoXScFYf1o4sgUpju383F5OujjTmibhn2Yn2wX1xbdKjLIUHWwm1Ck1H+KOdwrzBmQFHkJ+kaYV/usP6MsCuUCsJ8cguePKExiu+b8HkzwTvG/BY34D/sk9k+tfibhw== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110)(146755900322472); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040470)(2401047)(8121501046)(5005006)(93006095)(93001095)(3231023)(944501159)(3002001)(10201501046)(6055026)(6041268)(20161123558120)(20161123560045)(20161123564045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011);SRVR:DM5PR12MB1147;BCL:0;PCL:0;RULEID:(100000803101)(100110400095);SRVR:DM5PR12MB1147; X-Forefront-PRVS: 05514B7026 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6049001)(39860400002)(396003)(39380400002)(346002)(376002)(366004)(24454002)(199004)(189003)(110136005)(316002)(2486003)(59450400001)(16526018)(53546011)(25786009)(3846002)(76176011)(3260700006)(65806001)(6246003)(66066001)(64126003)(65956001)(4326008)(478600001)(386003)(6116002)(52146003)(53936002)(2501003)(50466002)(31686004)(2201001)(31696002)(54906003)(72206003)(58126008)(83506002)(23676004)(52116002)(47776003)(36756003)(16576012)(86362001)(7416002)(5660300001)(6666003)(97736004)(2950100002)(65826007)(7736002)(2906002)(305945005)(8676002)(6486002)(81166006)(90366009)(77096006)(8936002)(81156014)(229853002)(68736007)(106356001)(2870700001)(105586002);DIR:OUT;SFP:1101;SCL:1;SRVR:DM5PR12MB1147;H:[10.236.65.116];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTVQUjEyTUIxMTQ3OzIzOm03aUc5Y21LQkhxR0dCS0QwUjFtdUgyazFR?= =?utf-8?B?YXhlL3NueWg5dXFxLzJjMmJZTERuTGJOL1BURFo5Qkl4SG8yRVZsbUJ2RkJJ?= =?utf-8?B?OEJ4V3RpMFhMWitBVHd0alFTWDRLZEpDWWpFVlB2SGRBeGVucDdEV0JKR2pF?= =?utf-8?B?K0Jxc1pTZGRMLzlhTlZWb0RvTEM1Z0VQMUd0anZHQXA4Y3ZmZzR1NFE1SldB?= =?utf-8?B?SmVyeXVKak1OcmNxUm1rdHVRdDdCYnYzd0JzMGdYRGFUZW51L3JyNllodnFV?= =?utf-8?B?NjA2a0NScmozVmpqWlVWMlBoTVFWMy9YWFQ1cFNzNERTcjdRMjBudkl3Y0xT?= =?utf-8?B?MStRV1pWLzBobGRpZ1NQZ2FKSDI3aUdNYlg3b0lUMXdQdm5GUU1vQ25FakR6?= =?utf-8?B?QzI3Y0Z1NWVsNFM2aVRyNkQwMHMxb2Jxbk8yYzl5Nm9GUC95Q1oxb2x6azZr?= =?utf-8?B?blJpU2FaTFpiWXRsMnBtcjF4ME5vcWdWdmpHZVdpTTI4SVBQZWhwMDlJRHhj?= =?utf-8?B?aUdsdEcvaUZyVkhCYkZvd09kdXM5ZzE5cXNEc1hUK0VMNjNhMzR5aWcwWFhM?= =?utf-8?B?T2VqNGF4aVVmV2IxdnJwcGtNMXE2U2lJWENyN0ErWVBSVUZhOHpaQ0FPV0pV?= =?utf-8?B?RWIwSlFhVFdReXhMR293UkFnU2x6bUhKOG96TWhJcFU4aEh0RGFtNmk0SGdL?= =?utf-8?B?eFQ3dlJyLzdFYzZsRFhHYUNnSWYzQ01DeFBJbFhyMXpaNHAxL0ZyTGo3YzZp?= =?utf-8?B?ZE1rSTA3cTNSencvMDBjQndDUHc1OEpocWQ5TFhONHVtVmlmeVNEOEVLUmFy?= =?utf-8?B?Wnk5SnVmd1Y2blBlZndzYlYwdkZaWVRHWWVpdFJwbDhOM0ZjNmQvRDNmbitR?= =?utf-8?B?QXE0UzE5MEtoZG9vd2hsRWZuWUUwaE0xL2dxTWxRM01UQUJSTHUvRSs0cjRQ?= =?utf-8?B?RTlMbWZCVWM2OHBjZzV4YitHTG92WUZFSGtNQ09nZS9ZVGR6TDgzYnVvT3pw?= =?utf-8?B?RUxzZHRBSzVUek5NemNsOC9xK3o2ZUMxNUVhMEprU0RaOTVwZE1GZWtkMkFk?= =?utf-8?B?MWZ5NFdmRUdhMkFtWTlpSFVZekpyenJxa1hBdnJnSzYwWHZMeTVlbUJpMWVZ?= =?utf-8?B?OVo2emtaSHJldEt5dXB2aGFGc1FKNHZmVkcybmxRTXJYVW5Ra01RL0VWOUx1?= =?utf-8?B?QVFacTNZRkFFUkZPbWtReWZoR0ZSYUdCcWdTd081dXpQQ0ZFUnpPZkJmSThj?= =?utf-8?B?MEhwRi9SUnlKTlcyZ2VQVnlTSlpjaTRPVUR5SThJYkRWemVnMWpvb012ZWVB?= =?utf-8?B?cmtWMzJXc1RMZmNqVDVtVldMZ2V0RWFENGgvdDhkbWF5Tk1tdEVlVGh2Y1RK?= =?utf-8?B?ZnVKY0dhdjRhc255c2xsT3ZreFRFTjludmhudENhaDhGM1RRK1g0bzlQOENL?= =?utf-8?B?Vnkwa2lJUHo5RXlkN2tvRG9XWU5QZGtTZWRTOFEvbzdrOU93dTJEc1NrL2Ro?= =?utf-8?B?UTdPR0x1blllY1Y1V0RjSnFBdmQxckl6RGZOcCt2bkg1WXpYcWtOckhndG92?= =?utf-8?B?Q1RWMzBCWDlvVC9qUlNBeFZtbDlMeHE2Q2lNUUZuUGdJb1RuM3hjZ2hpZ0Zp?= =?utf-8?B?aDJPOVp0THZqSHBkcVFmUFh2U0hrTmRpRnNxS3piOXpjTFlDL1dLdHBBdXkx?= =?utf-8?B?ZktuYXhLWlowak1WWmprRU5GRkJ0dE1YNWxDM2gyVDUxMENPMlJXNXVoUENo?= =?utf-8?B?ZE9NM2Q1SlhxT3VkWDhPUnNKRTFTTWpnMlVaN1lpVUdmaDJrLzc2cjZJRmFt?= =?utf-8?B?Y1FXWUNGYStoNTdGRW5NMWtNc1cxeG1WNXliekhvTEFaVEV2S1p6dmpsQVdh?= =?utf-8?B?SVcwN3lacHpablJhTW5EY1J0WVlSS3F5d2drbGdaY2RGbkMrdkxlTGNJcEk3?= =?utf-8?B?ZzFKWnhpS1ZZM0dDSGxaS3ZNQ3EzZ3h2djNackJuU1lPMGU4c2IyQ3dNUUNR?= =?utf-8?B?c29LRHMrczJ3UVlVSTB6NkhWODNsczJtUTJEZ1F4SkswcVBVQVVaZkhPVzhx?= =?utf-8?Q?prJ1Yx9O4PW5lhW9nz0OCtBIH?= X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1147;6:HhP1onxomj0zOQyJZLHlpA06ur5lmZ4YFDq0x7AAfnA3zSL2ormETCNAzxth58ZzcNYRtE7j4u7964spyQb3aGT3Rkl3HGszj0sd+19D08oWHtg1Trnxn8B+pNMkoWsm9Mw2CFy6NeE6/OVDbz8HBSm5Bjmereg9TNshEhnk1ooVP3zDcIfkNyFU2PNqeac83Rx7u32ZXa1ED5manmTH4Nr18phIFAp6gyBeDl4EjwVWq0/387CTLhjBqG4WMu2c84fqYsRJHfoJ4oiMkIsLFEJBYenX33No2nnECvoXqdOW21EBICBkKMheZypoJXUfB/lsuN5aNNsWAmT/xcYHu4opkL/aPGOdrLRUdnlUdNM=;5:0G6pI4DNkw7IvUj0S7sIT9GW4+LDrIjoK+n+AKkNmw6clRQ24fzF5J5KPVKV8pAgzQDMFw5ckwCujIVzJeMumkU416qOv0Pm0BP2u4U105iIraOVw20oLlYkI2uFOUm92d/byt9pcphkbIQhd75U/Bw8491vbsx2OuqXoUeb4Pc=;24:Y1VSAmuZf1vVd2P3OkGaIOpIYmOuVDOM3Nz4XP/0cDHIUFA6P0bNZVBLBbTaJUfhm0jZOkehDh4dBswG2M/He7LsCl1Hms5PVDGH1IXkBgM=;7:vFBiDK3Q3sERrD0KXyd7FHsV4hOmJZoSD/0W4Mc4mEIRdXsghZrfHz69iHhyQGZEpLbw7qUCIlWuYYTFq/tmEypUJ0YMY4RxKRbrHevAa8UmKu0nI7LhCs5GHAeod2AYr+iLXIr/i5P6QGirwl6alA3YlGCPCUU/WKuPqG5RcrmMkMTPBdnTUI8d61xeHu4uam5Pg/OrNfNDavTv7v5s79uZk4CnIjA8HgO/Iz0nma2g5vcy+asuJc90IgGOHPuG SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1147;20:ji+whdThLDZtsn2/axuZojTk3b+5JX4lCWkOSwg9KWsQADvsW6q6/UtlHGdrCCLzfB0L+Fkbvd9ZXh+qw+O6JcILbLLxgvhGjc8sciDy3fnLOKdo8McyCiGhE3Sr5vnYAqoyYRjbwzTGizHV6vkvKMFtV92XNVsN69kabkCzsQ6q86gjmpyNvFtMjis76gC+WpLJvdr8EVCGctn30G4qpW34/hSW3Gzy7ffRLoDZQMqlFL3ooqjtHT3ZOewzviuM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2018 21:13:49.7537 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 07cb02d4-ad67-46e8-f1d0-08d55aca8c22 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1147 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: On 1/13/2018 8:07 AM, Van De Ven, Arjan wrote: >>> The RSB filling macro is applicable to AMD, and, if software is unable to >>> verify that lfence is serializing on AMD (possible when running under a >>> hypervisor), the generic retpoline support will be used and, so, is also >>> applicable to AMD.  Change the use of pause to lfence. >>> >>> Signed-off-by: Tom Lendacky >> >> Conditionally-Acked-by: David Woodhouse > > > pause is technically the "save me power" instruction > > how about a compromise where we do a double: > > pause > lfence > jmp > > as sequence... that way if the branch recovery is fast, we get the performance of pause, but if it takes a while, on AMD you get the behavior of lfence? That should work on AMD. Thanks, Tom > >