From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751231AbdFBPlm (ORCPT ); Fri, 2 Jun 2017 11:41:42 -0400 Received: from mail-dm3nam03on0083.outbound.protection.outlook.com ([104.47.41.83]:54912 "EHLO NAM03-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750813AbdFBPlk (ORCPT ); Fri, 2 Jun 2017 11:41:40 -0400 Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=amd.com; Subject: Re: strange PAGE_ALLOC_COSTLY_ORDER usage in xgbe_map_rx_buffer To: Michal Hocko Cc: linux-mm@kvack.org, LKML References: <20170531160422.GW27783@dhcp22.suse.cz> <4b894f15-6876-8598-def5-8113df836750@amd.com> <20170602144352.GI29840@dhcp22.suse.cz> From: Tom Lendacky Message-ID: <9b41c712-59ee-8457-2741-e913b8498ca7@amd.com> Date: Fri, 2 Jun 2017 10:41:26 -0500 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 MIME-Version: 1.0 In-Reply-To: <20170602144352.GI29840@dhcp22.suse.cz> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: BN6PR03CA0068.namprd03.prod.outlook.com (10.173.137.30) To BN6PR12MB1140.namprd12.prod.outlook.com (10.168.226.142) X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN6PR12MB1140: X-MS-Office365-Filtering-Correlation-Id: 11276248-d4bb-4001-08bb-08d4a9cddba1 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(48565401081)(201703131423075)(201703031133081);SRVR:BN6PR12MB1140; X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1140;3:JhkAP3CSr7BsuUScdLXOkFHoBlDNaD+FwObkYxxHHgCyMQ9Zq6zn5ffc3sfVoqQFflIdFvouAKF+h3rPURBurpPiuVjAl+mBGwl18eOE+SO/PPqbTnOHGJR9QVxzZFbBWawGGWhpFHBoF6UCfzudXs3eufVgrXO1NhTEboMbkNxZ5e+xlkT6sS8Zh5o1iZgXtv17/9WfJrLYmCwGyApkIKnPAfZZQ7lmlQ2tjpEhSOcNwx9BEHdQP1PKAGH3zNeMlGadRJe3r7tOsUmwMHcr3/o367IsaEnl3wyBZAtUBOYRS5In5QDBrQl5kiineKN+cBLD59kkvcZbeHbiTSNvgqvwidfEYrBTDu8bPZmvhMY=;25:D+FHdRooPVfKeFNvgh91G43WT/p1kU4HLHyrP2+m74wmZZHjudwLZTS2Ve5SxLOGh6GSrGf2/ZHdIWT9g2HyqbU2UkoCyxBehoGUGdj4JqeWNUOT+s4PPlNWz3cDnz2kM3A9r/Ih4oAT/OQ0wRKojZ3UNguuU5JYOoCRH3C9xM9Ke9qTqHRjUpI4f/mdYU84hBVF5l1nfz6iIB+Kaj8gsM/F9pm8+TRrUusYL73odW6aavmTRdSAar/4Z98eqXGFMjcGSjgSajg4Kd7xncte2PMWyaAePwavtCohjSpQ/24vLwTKSn6rDskS+/S3CZkE2fVGvKuvi2Isz4Jkht6blFXLui/QjLSMVcHYf3iqdLo1Drpn01lkRVMCIoFd/ZpEB09Z+d2Q/iqF5xaPjfvQEk10Z6N4g4T1W+Tpja2pZpGgHXguLSdmqj056KvJ/O6XOAvZwuL9hBcpuMLaTJdWhAMX4EPRLnkdxsiZ5uZ9Zvk= X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1140;31:TV/wY9MThrnUdVXYPA5zqZGQeJJrZEATzjES+u95eA0+0oYLQIC6Zq671GgWvLKjRRFZKbbvjBTnSIaCG5LscI6pv6WTa1sN4+zfamhmfL6qt2BIDMuwI+IkZAp2ioQqWZkL/xZ0h4jKMPVf1HyM5l+xFb6P6BapZdPlAyGfgZ7YW6gyRpeNnLiqunMK7ziLXEfSUONq55KwIEzRIWaqBoJN0x7qOeHCiB74nFSCbAtFPQMJvg5eOgcKIOjjq6XBEFZAffs3iH4S0cgNhllhLA==;20:5BlcRCQh/fanjNmb8P2c4YEqJAnCzkwM40jJafp0jdDJgO/swfOx5d1WUDUpFIMCsYhztqMl8n1sd/vHCjmiH7atWSICS7v4S0qnaDNFEalCuBOXctYpP5L83xodAHtah6PvlWZAufpljMJWSDwZ4vTwSpdRHy0vIRYEkcGjrpxjEgGDKhyhn01MJGNwQHg982OiO4+KQQIVcb546o6HfcIYVhCcOLNgCk5hrD6GKy1qZEHPUmgFQje+uEqbNRxaBL3re+PqBsLEm2d4HpkgzKd5+8y8BL5q9IysG90nabYksFDBge954bxY5IcuyKAenLRE5toCAygxlIAQrChsvzs4Jyxgd5/1qAP/PvSWLIrnuCtfllFVW+sefvCqZEVCtAH5RfnngI5Y0roJ5VLrNaTUWPZ/6KKwfJP5oCsf1V2j+ds1bW85FxMlUuw0s8kfebnF7lIQa+UXuuhOpnwdGrCDDZJ0/RL2Yj4/Zsne9Tnj/odl+XQhLlv4Ro/lSkKQ X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(100000703101)(100105400095)(93006095)(93001095)(3002001)(10201501046)(6055026)(6041248)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123555025)(20161123562025)(20161123564025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:BN6PR12MB1140;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:BN6PR12MB1140; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTjZQUjEyTUIxMTQwOzQ6Vk1iZ3ZOQjBvQUc4SENWenk3eFBhMkZMT1ZX?= =?utf-8?B?VDVyYnBXR0tWb3lsc2gvV3Q0blFmdDBUT3hHRFBYem51MEdoNUU4Q1h0TGR6?= =?utf-8?B?YnV4MkVvajhPbkIvMGwzVTNrOG0wTVIzRldXQnBGc1RWNGVOS3A4NlNLNTd2?= =?utf-8?B?d1VONEhFUitXcUlTb041b2dQU0VMQUViOUNuWFFLdjBrZHVWU1d3TmtlaTRa?= =?utf-8?B?RTV4aU9tTlFQYVdPYkZsbktkQ1hDYytXSk1VcE1KSW03cmZZbzE5T0l6Z3FU?= =?utf-8?B?NXJla2hSbFJvdWZDZXZ6cytCdjNlSllVcXkrbnRqL0VXcjdIUGRNbEw0TElY?= =?utf-8?B?R3oyV3Y3Y3BRN2l1YU1hamg2MWxrL09pRVA4SE9OMmJucHpqZWEyMUE5MDVZ?= =?utf-8?B?TklJZUtkNTdEUjVQUGFwbkxwNlVRZ0FLZ01Lc3V5MUMrSDJJZ3RHS1p5amhI?= =?utf-8?B?Zi82SUJjL0Q1c28waE8zckkxbFhZSWsxZkt5UVVwakJPMWZha1hiS1p1VnQ0?= =?utf-8?B?eTkxenNBd0c5bEFvRnZNcGh1Rks0SVhXZUZ0WEZ6c2VoTGx3c29ITXFCVDZl?= =?utf-8?B?em5weXVFR3BYZzh0Z0FuejUxTkN1ZitMeElEbFlZaFhib3F3dVJRdHlMUWRB?= =?utf-8?B?ZFdja0FrTHJOMlh0YWxwZTNNbXBYZE1mSi82ZXpHSi9uL2dNTWxCblJQd2Nk?= =?utf-8?B?NkZLT1doaytzVE41M0RaM1BRcTBGTklIT21EMmJyL1lFcHMrWlpzbVlJRE5V?= =?utf-8?B?aFZtaGlvQzNhem45YWJ0TjA2TmEvcit1cUs5Z1NvOTJZQXhrYVcrRlZLZTIw?= =?utf-8?B?K1A3NXIySUlnSVNYNTYzN3pYUSsvZndLaElSS1o4YVBCK2RmRDB2WDBJQzZi?= =?utf-8?B?YnZpT1o1ZmNqQ2gyb1VVWTFmQmMxQmpneEN3OUEyS3hJMTZVektKaUgxU0cv?= =?utf-8?B?R3NzaWtmL095NlFLc3A0YW55OTgrV2Uxa0JENVR2YWdYQmJnbXdOTjIwZXZF?= =?utf-8?B?ODRVeXMrd1dNNjQwQTIvU0UyT1doczY3MTdzUnVxbFRYOWYycDVlOHZzVmVi?= =?utf-8?B?cnFnOHZFSzBuZVlwa2h1dklyWUlqT0p4SHRwRFdPWUY5LzhJN3BzWWs2SjJV?= =?utf-8?B?Y29aNEJuYnR2UGtoMlYzLzlJQXEvWHoyRUMxVDBRK0Q4aGJ0QVZtVS93Z09i?= =?utf-8?B?ZU5hSU1ZMlhjRWZTUmxRU0k0VzRwMGxRb0psTEUzaTZCcmdHRDY1YTFLS1o0?= =?utf-8?B?MU5aR0w1LzZZaWZ5MTl1SEpaVEtjL2ZyS0Y5a0ROdmR0Nk1JaDFBaW5jRERU?= =?utf-8?B?dnlIYkFDWW5iZ1BNUzNRSm5WQ1FpQ3o4Z0FpMTRaNGI1Y0hkNE1DWjAxaGkz?= =?utf-8?B?YXVxNG9LSmFzVGdueWtmTHU5bFlMWklDbVkxK3hqMm8rNzQzQW1vckNkZGFq?= =?utf-8?B?VUVDRWcwdWxMUysxYnN6TFFpNCs5WG1nRkYzS1JXVE5DWUpMcEhvUnYxS2Vq?= =?utf-8?B?SkV1L1FqNC9SdGIzdXFla0ZnaFBUTU5TWWwyT2lweG9nTzhLRzVwYUV3NUN0?= =?utf-8?B?amtuMmhYNUNoeXFMWnFsbWE2OVE2dz09?= X-Forefront-PRVS: 03264AEA72 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(6049001)(39860400002)(39410400002)(39850400002)(39400400002)(39840400002)(39450400003)(377424004)(24454002)(377454003)(5660300001)(81166006)(66066001)(65826007)(47776003)(38730400002)(478600001)(110136004)(76176999)(50986999)(54356999)(189998001)(3846002)(4001350100001)(72206003)(6116002)(36756003)(3260700006)(305945005)(8676002)(25786009)(7736002)(50466002)(53546009)(53936002)(230700001)(6666003)(33646002)(90366009)(2950100002)(6916009)(2906002)(6246003)(4326008)(6486002)(31686004)(77096006)(42186005)(31696002)(83506001)(23676002)(229853002)(86362001);DIR:OUT;SFP:1101;SCL:1;SRVR:BN6PR12MB1140;H:[10.236.64.250];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTjZQUjEyTUIxMTQwOzIzOlZVd3lRdWxzbTNINnpIRE1zWFZ3Nm5Gcnk3?= =?utf-8?B?VFZrZGQ3TGVmaDRYbW9ZSEFYVDJ2aURhM0lqSnkzUG1jRlVpY3NDUFIrZ1VV?= =?utf-8?B?S0tjL0J3VU56VXRVYWVTQzBkMytKYmlQTGV1a0huckJYZFJoZ0plMVlWNTRx?= =?utf-8?B?YXlMcW9FeVl1NzZPS0ZUZTNSU21XekFlTlozV1RsNVhKelNsZ2x0UXF2RXlV?= =?utf-8?B?NTljWFZpQXN1eHl3WjdmcU51WmVtQkxGZEhoZkhjU0NoOG96eGRLRXZ2Z0FF?= =?utf-8?B?TGVaOWp0MFVRZ0h5Tk5lYjh1cmlBNTlmb3Z2dEVNNUUvUVpFS1EzYytmeEhl?= =?utf-8?B?OU9mYjlYb3JhTXlndGVpLy9welpsTXhVNDhveTJFYkgycVp5TlBpZmRkbGxo?= =?utf-8?B?VWJOTkRMNFNRUXlJQ1RiT3lzQ21iR1piSzhIeHdyTUpYYUZMTmlOc1VreE9S?= =?utf-8?B?VTIvbU1KaEh6T3hoZnBQb0JmOVg4QVZtT1VOOFNoeW5yVmpFc0xXK3BtWjJ4?= =?utf-8?B?ek1LcDE0RUdhL3JpenRXOFBJVWFHRXJtR2VPUFFaYVRiRUwxb2hNbld5YVBS?= =?utf-8?B?SzJtWXp4QnEzMWc5Rzk5RXpOVjVyRGRjSHBna1U2OXZYeXJMUXRCTnA1MU13?= =?utf-8?B?YmtYeWg4VTY4YXJBd0E1Q1FyL1F4WjJpRTRUM1k3NW1yd1U5QzBBcEc2VW9K?= =?utf-8?B?Tjk4VTVOK2x6ZWVjVFRpdGF5NzRpc0Fac2gyYk9OMW9EK0trMnRGUWJXb3JD?= =?utf-8?B?TFdyeVlrMlNkUVlqUXUrR1Q0S2pLeEtxNDc4MnJQUDB4VUNja3diRWh6cEFw?= =?utf-8?B?cjZLemNjT1lRR0ljWFd6RzkyWmh0QWlReFRaOGw2VVhWQ2VQN1dOS0hBOERl?= =?utf-8?B?d1dLTWdLRGtCZlBISjltL1h4alNtZnUyemlWM1pjTThaMEM4S2J4U2RlQWIy?= =?utf-8?B?RFMwUTc2cUFJRDlId3h6ZXZlVFl2aTN5S1FpN2FQMGl2cjl0dVBFR2Z3TjdP?= =?utf-8?B?c2NrQkU1L0lINEVLK3MvZCtPYnhXYWVmSmJVdWdhY3QvMmRObXgwWGN1ak5M?= =?utf-8?B?cEpYUnExd2R6cllIc0s4Y09jckNLN2lsZWF2djJHVVlvcS84dXphWGU5eWM2?= =?utf-8?B?SW1tWnNFb2o0cWNxVk9rbWx5NE40OUtRemh6a3BsR1lwSFRoVVBhQ3NPbmYr?= =?utf-8?B?bnZOWDVEbG9kbVc0V2JVc1lBY21rUU1pOHpoZmZKWUV1ZGUrOEIvdU85L2Fm?= =?utf-8?B?bFh2SnRxZGJwcXZhWS9iRG1rNkxOVkZWSkNWRjkvcTFHMHpqK0FaMmNsTWg5?= =?utf-8?B?NzRkWmRLaVcxWWxWNnVZT3UwTUVkKzArTFIrNnRUNHZxMHVyS3hGYXlxUWZl?= =?utf-8?B?LzRGaXg2dFdVOTZ2QlI2VXNUSkE5S0pzNHFIZ003Tk9RTEQwUmlCVXVwSjht?= =?utf-8?B?dUxxS1pXc0VzTUhhdGVYcllPai9rRjBLQ3lZZnV3VGZRN25RRkxYRFQ4dEFN?= =?utf-8?B?aG82UFNSbnBCUFJWZFFLSVZjZ3AzZlFyNXd4akdkdHpKTzIvNHRiM3RDOTh6?= =?utf-8?B?QlNsamFtMUEyaGFlMERDQmZURHNUdEJ2S3dldnlWWjNZWG1MQk9zQW5wQVBt?= =?utf-8?B?U09OQ2ZxYk9lakFWcUNtMmNPMnZ5bEE2bnNOK21NclZNR1B1SDc2LzFQRWs4?= =?utf-8?B?OXN1ZlJYK0gyNTR0YmFSbUg0WVB6MTRMeklOd0lKT3J6QWQ5aGVjUElhYjV4?= =?utf-8?B?ZGt3bGpTTlB0M1YwcmxzemZHSkkzYy81UmRPVE95WUJqdDAzUTBTQ3E3cGhk?= =?utf-8?B?WnlXK214MkhaOW9BNS9ncDZxbVV0K3NwNnVXSDdwdzVWSHc9PQ==?= X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1140;6:I2SU9mOnQ9otfMEy+AIMlXm5pemN+gIkyKytIzoB3x+tAomb5PFiseM/gDW4/yMxPcCd0jdntiQp5PejEQ6OeXTZh9QwTo3ruUDLAWHMC0di9BsQnWnXkWPbwr8MA7l6yLaProeghTbd1uFeiE418+/CeDUXbp6N7jryE62mu61xQwr7vwLTSYAjT6GrrIac92Zr8CAZbWAYGKTmAL7kKx+bwS2Ae9OZau2gWjTVANw7/mDRTr6uTzQZ7yrxX2xGeJlOPcpZp9vpRCYr+4tbAt8DlUPlxLWggLrZz0SvlxywAsjBvEim1ItAGbewnsgxj6ct4RmqK8H+VdGq4F82dW+xYGyZmhwlcy1kbSQdKWHams9b4GaLO0gmyn1ZrCFFUu2YYO6YRdaLhdNIb4K8uAWxnixl6R8JLN2ZDyJGoQ/zrIiWNcfdxRbT1pv3+Bw+TuxMxtWWV4pQoWUy97eMRGdKR+VGNa5+RN7g50W22aQFkT9Qo8RHNsIKNJhkFjeggyatp371DSZ7X0Xt32+IbwYwS/al2zDYjazPPfdK0iE= X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1140;5:UDxqYauUSyR1cxOljkBrCspfhaGO6HqCtAcv7t/bBnXD4yfXgnxVATcOG/2mNkr9vLoQQPmV0shg94HbtHu74GfgDtbSSzPqdCY8UP+1vkM1mO7jEYW3iJqgil3Tj4r5mYj+2uh5slP8IAHPShmQJOHKKjtkh5ayZs9uVRw5Mt0sw/NzhtsavPBbhVj+16pLHLAwLvyH78wcE9cb8HNPnqxowBXNVkK3A1u+EmMXdzOH2yB4o8f9q2UUfeV+cC3PvsHd0qbL4uR4sgNuVQan+/vTsaHchaHp1G7JvUjNFCHr1mOvR+T7hFiinEJqWjTUs92sNe+LqN2f8wrg6c6CVlVSROFYxBtdZdPB08+bA++7gXt5APOwofaQpOK55EoyCYTw/c68liDZA4JZAWe/x1VOGPKD6Uwynk3xovnY1iMIYeGpf7bz/giD/PYwMYcuw6kVaQCoNXV1BwodTSHpRwwxxhZVMt3IKHW1spNRsGSh3b68ulhxEIcBZzJeMxZo;24:ajwoaAixYfh08iEHLEiKB54XijY6WUvgPNZEi7NfyU9enfI1tyi4jq1PxJ7589mOKonr9evMSNO2e/TMvT22rbwHl2YMrmF+trXgUy1ikrI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1140;7:8+SoK8cglI7shRZT2ADYvNS3UMDxzktMxwtCkLeq/av16WedsddtdflK5VmM629lfj1AR6JPmntoj/xRDfqYTS7mD8wppU7c/MVCRFtBVPZWhNXzmYR0xG6zDjdG7CTZtBPJo3E0VK88QEndrJCn5a8C1XVR21/mUfg9G6Gdu0YE2OXGHqQYqAMvb7t1/Q3rNecVynyqXq5bBA0oXBsU6vN1luG2xkqZYU49bBZ0TZZMR8pphqa4XRhThO4n31GbucjV8kS8ndSuW0zp2eJGqDBuzjzftPtDqsu5ZaUgbiFGyl3yugERhY56FX8UcVx/y3bm5ego3OBVqKf4J6qXeA==;20:8wm3/86+RUkoXvxVAD2TH/dM33ep0VPD5A5Zh55lNE6rIdNkqwdhvS6tyQ6fzN+RaGWjzVIJSNjkeuVusA/kSTAeJuMoFhbe0sbXggAundjvDbWnsuG/Ay2syV3kEOwnppe1FdRV8nSYuESLZK5JdmoK5M8M9gLNJoWv2OGRjUGDwXxstePTtj5HXq/ngI1s3dV8c2j9vW/ga5YddjCKdItsF7xI66UoqSGDOSBWawn4upApxMK+hH+xt9nZ7Mkb X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2017 15:41:38.2048 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR12MB1140 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 6/2/2017 9:43 AM, Michal Hocko wrote: > On Fri 02-06-17 09:20:54, Tom Lendacky wrote: >> On 5/31/2017 11:04 AM, Michal Hocko wrote: >>> Hi Tom, >> >> Hi Michal, >> >>> I have stumbled over the following construct in xgbe_map_rx_buffer >>> order = max_t(int, PAGE_ALLOC_COSTLY_ORDER - 1, 0); >>> which looks quite suspicious. Why does it PAGE_ALLOC_COSTLY_ORDER - 1? >>> And why do you depend on PAGE_ALLOC_COSTLY_ORDER at all? >>> >> >> The driver tries to allocate a number of pages to be used as receive >> buffers. Based on what I could find in documentation, the value of >> PAGE_ALLOC_COSTLY_ORDER is the point at which order allocations >> (could) get expensive. So I decrease by one the order requested. The >> max_t test is just to insure that in case PAGE_ALLOC_COSTLY_ORDER ever >> gets defined as 0, 0 would be used. > > So you have fallen into a carefully prepared trap ;). The thing is that > orders _larger_ than PAGE_ALLOC_COSTLY_ORDER are costly actually. I can > completely see how this can be confusing. > > Moreover xgbe_map_rx_buffer does an atomic allocation which doesn't do > any direct reclaim/compaction attempts so the costly vs. non-costly > doesn't apply here at all. > > I would be much happier if no code outside of mm used > PAGE_ALLOC_COSTLY_ORDER directly but that requires a deeper > consideration. E.g. what would be the largest size that would be > useful for this path? xgbe_alloc_pages does the order fallback so > PAGE_ALLOC_COSTLY_ORDER sounds like an artificial limit to me. > I guess we can at least simplify the xgbe right away though. > --- > From c7d5ca637b889c4e3779f8d2a84ade6448a76ef9 Mon Sep 17 00:00:00 2001 > From: Michal Hocko > Date: Fri, 2 Jun 2017 16:34:28 +0200 > Subject: [PATCH] amd-xgbe: use PAGE_ALLOC_COSTLY_ORDER in xgbe_map_rx_buffer > > xgbe_map_rx_buffer is rather confused about what PAGE_ALLOC_COSTLY_ORDER > means. It uses PAGE_ALLOC_COSTLY_ORDER-1 assuming that > PAGE_ALLOC_COSTLY_ORDER is the first costly order which is not the case > actually because orders larger than that are costly. And even that > applies only to sleeping allocations which is not the case here. We > simply do not perform any costly operations like reclaim or compaction > for those. Simplify the code by dropping the order calculation and use > PAGE_ALLOC_COSTLY_ORDER directly. > > Signed-off-by: Michal Hocko > --- > drivers/net/ethernet/amd/xgbe/xgbe-desc.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-desc.c b/drivers/net/ethernet/amd/xgbe/xgbe-desc.c > index b3bc87fe3764..5ded10eba418 100644 > --- a/drivers/net/ethernet/amd/xgbe/xgbe-desc.c > +++ b/drivers/net/ethernet/amd/xgbe/xgbe-desc.c > @@ -333,9 +333,8 @@ static int xgbe_map_rx_buffer(struct xgbe_prv_data *pdata, > } > > if (!ring->rx_buf_pa.pages) { > - order = max_t(int, PAGE_ALLOC_COSTLY_ORDER - 1, 0); > ret = xgbe_alloc_pages(pdata, &ring->rx_buf_pa, GFP_ATOMIC, > - order); > + PAGE_ALLOC_COSTLY_ORDER); You'll need to also remove the variable definition to avoid an un-used variable warning. You should also send this to the netdev mailing list to send this through the net-next tree (or net tree if you want it fixed in the current version of the Linux kernel). Thanks, Tom > if (ret) > return ret; > } >