From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753473AbdEIOxh (ORCPT ); Tue, 9 May 2017 10:53:37 -0400 Received: from mx0b-00082601.pphosted.com ([67.231.153.30]:33131 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751304AbdEIOxf (ORCPT ); Tue, 9 May 2017 10:53:35 -0400 Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=fb.com; Subject: Re: get/put_cpu() usage in block/blk-mq.c To: Mike Galbraith References: <1494310029.20252.44.camel@gmx.de> CC: LKML From: Jens Axboe Message-ID: Date: Tue, 9 May 2017 08:53:05 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <1494310029.20252.44.camel@gmx.de> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Originating-IP: [2620:10d:c090:180::1:59fe] X-ClientProxiedBy: DM5PR1601CA0031.namprd16.prod.outlook.com (10.174.111.44) To BN6PR15MB1188.namprd15.prod.outlook.com (10.172.205.142) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: dd01c6ca-1fa4-409c-d4ac-08d496eb1e77 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131423075)(201703031133081);SRVR:BN6PR15MB1188; X-Microsoft-Exchange-Diagnostics: 1;BN6PR15MB1188;3:rXizf7lWGHsa8Kbnb1PSB2Xyu3uRP52lxT6gbLGLvWJTi2/ZKRoeveDc5wtB6JvLKWh2jrwo9nALZCMZO5DjFz1gwaG7TY5juCnY/8QDWQiB0TKJo84HdYm/mwXWa18wsCjRsmK9NvJK/8CXf5duk5EB4ftaRcpYs9JglKjRDrj748/aIV6SksSyZDQpWQdZLFRo41vsPVmfyqUX07VmmL/JKcnE5aRCZQFXrTaJ4Q9HL7TCpUqq4f/rqyRx410wkRCjp45d9QgnJZhh5lME30Gg2JX9alrjolYv0wtnN2zWIlkMmcYMOrauHv/bhh3HoSQlzafneN/eSvtrdPROJA==;25:HXH5P9CPyCpBjUSLSqZjcgbN4Ersgl2kKKx+CQn1tJZfkmmafhRfpl3dvRb2Oa1j1yAAz70hhQ9pBLjR//C1lrUWXrIjYDYZxuab8f5oGRYyLliiTdDIXh8+wgAandCQwcfGEum/jFxmHsKft7XFX3B7VkorN2hz90aX5w0Jld/pZXxZ7ZlcZfYp8skdP+Fnv0uFqobir1YfBs+oOSm0iEtyUJtZYckeNuIoNFjH85Y1d62PBFD6V4w8q405dwACQbP0b8xlaNd0a/uSMS0PFWu2MPuphWae3Ow4P38SQD1FAEzs65EcnlyJmw7vj1Pg+qwFKWHCCJPS/gKzlAfGylQ2vMI0S1Yv/DYDAnfJMsHfdlMo5zxCzznv4WQD4kE+QylQGlqTgS6H77tE1Q4G0M4TKdXQJ2EqtyLtNg1QRwyr3pr9lsWGCSC2UrHDGG8JSgcni3GCe2NWlUHRNlzsivMqWQVBWlDCCwmKTJVw5nQ= X-Microsoft-Exchange-Diagnostics: 1;BN6PR15MB1188;31:2wQBt/bG31f6+4ZSuSRZj6Zvx/aS2PRjG2S8Ht2NZ0+tcxHpF8pg4IHDbZX6EQJoU1c2l4+Ui27voQkaYNMji4IO3wXawhbDOEF8a3oKvZz9OMzWqQ+souIzoUVnke0Aq2YV6ZJGJ1p+Jp6f5SX3Yl8xaJ1j/VELWkytRQ4ldSnLpYsGzIPkMiTgL/EqRyrebBVStoeYVxVnEQ8403kc16TBA1q7zBzGwAYoCkq79ZD0R7q9pHI3bF86V5W1U4v6bS9XGlj0oms+152gl0JtcsN920uPBxHS3eD4gWfgNyU=;20:V9ztk2Oc57LZEzRd1WALeGhQ9Nrl+2kNgVn3dH4reQ/Or/HfatK8hVyOhLP6bWcnEf0KiwgzCQ3DLQwUeWTHgkQa4tBJ9rd2UezgK3qQfl32NkCuPn2AyswzgkqVgizwu/MVoXLGr4R32lQ0Ya/aas1WgCVD4wsi++k1Z7Uwm3xuWcLnPl0g8X2wN1gNcQl1DJ2UF66iZeLQqD925ecrqN8NuVVvlMYB+DYgZAHEKBYAZtnjXAC8YeVFLWjYOzutgSP33bPwLxaIHKe1vDH7s2klDq8HEXN5CKjfPCF/m78A+F2soKjV/FfLX0oV9u0gOorEiiBgE5pyb1PbMH29iK3N3AeMSm5NZohigVRzpxKHOHEBA2Kpa3r2iziqLRTZsd3709Vuv9Yi2A5r/Cee3+OKdMdNcVKEu+8bmwAoen1+/n9+12R9eZYD05W1CNt+z+3cjaqFFWVLcZ4qtKFKUSpvbpTVZg99uBym0ZsHmDNvsGnu5BzSBX/u/HgNlED0 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(8121501046)(5005006)(10201501046)(93006095)(93001095)(3002001)(6041248)(20161123558100)(20161123555025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123562025)(6072148);SRVR:BN6PR15MB1188;BCL:0;PCL:0;RULEID:;SRVR:BN6PR15MB1188; X-Microsoft-Exchange-Diagnostics: 1;BN6PR15MB1188;4:UEP1cmHNmgW/0KTZgOUpW7wsygD0OyTGSb1dwSfh5FRXhXPHXRo9sFylp6PNzOvOERve+4TZ0laead+OLeC8Sut2L4UUKzg+7HwRAZFzBzn0cYo/USxZqz9cnbzXBhRhzv+GV/wMJMDGx2QX/dZrHAJGkiCf1ZST23keUea5iczy8k9D1NSA5Z8Inx+JEBt3xpsLNUHM1F4oABVtBz5LKvNwkxLnicdhrn5PJBo5KZyRCoD7qivAte6Zr2BoM2l499yzA6CLX5HHuTuob72ATW+UQojp0Vmh2AfZeOe9fEzRG2QJxfzz2nXR/HM5sEJz4PShOMMbq+pjTXf4KCFKzQYSG4AP+1cLBMOHCcW2aSnOA0ZJsqrfLUspAx8oSIHuy55EP0HM7DAXpRfMZ0nhnUPOkCry/JYEJmpryZlT6TpPIZ9wJEqdUcaQXWIfLRzK70hMniM2Eenqsu8pxnEaUXGgJGcEpVp/uJ07S2VsBxPYeHOnHaVy7cgBu2qr95tieIKZvFJbkzo8ILxokOetmPSwqFXrhr0ldN9QLKO/v46rXO+NeG9fRUCYfnrrTqPw59EdqzpawpqdKU/lVdUb+YlBiGxO+3A4CdA3VS2VQTXSb0mo7VlP+OdCe6A1Q8kUCoA1vdH+yBgBzTJrBVTwlctDYJxCNBz1eQRoWoBnPh4p+Kk8utbu+BolAzVsQwfDhZ8OEzZLWOYyS05nnxa/6GX3O3JozdGhLCTcBYNeLh2LHbP+pBvFT8MZJaETe3xEmsSHXa4VkunwgmIEZKDJsctIOyr3WuiejEMNhhovhh4= X-Forefront-PRVS: 0302D4F392 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(39450400003)(39840400002)(39400400002)(39850400002)(39410400002)(377454003)(24454002)(6916009)(2950100002)(6246003)(8666007)(6666003)(6486002)(36756003)(81166006)(8676002)(53936002)(64126003)(31696002)(86362001)(83506001)(189998001)(50466002)(54356999)(2906002)(50986999)(76176999)(229853002)(4001350100001)(47776003)(33646002)(42186005)(23676002)(31686004)(38730400002)(110136004)(478600001)(6116002)(305945005)(65826007)(5660300001)(25786009)(53546009)(4326008)(230700001);DIR:OUT;SFP:1102;SCL:1;SRVR:BN6PR15MB1188;H:[IPv6:2620:10d:c081:1110:8000::20fa];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTjZQUjE1TUIxMTg4OzIzOmFTak9aK0N5dlg0bHEremg4WGNYQmhQdVNz?= =?utf-8?B?ajdhTDJ1TDhoT2FvdXdDQk5Sam1pNzJ3elpsT09XTkhaNVgzUHFkWkd4K3M4?= =?utf-8?B?djJsNDVISDEzQ0Q1UVpWeUp0VDQ0UE9PTnNjSW44bjQ5TVVxZ0p1Z1B0TER3?= =?utf-8?B?WVNib3NGajVuSEJ3SXVXNlNvQS9DQ2E5akxiMzVSRS9JZHdmZmlJR1hBZlR5?= =?utf-8?B?ZnduMGMrWjd2OTFRTmhpK3NBM1hXVTF5U0VvN3lkcWtZaFp3N0lRcmxUSXRK?= =?utf-8?B?SzFhdHp0ZVBZT0ZYbGwwdFl4V2ZQQ3llb2VsanAwVzhWS0JjU3ZQcCtLVUo0?= =?utf-8?B?Wng2VG5nV0Zlc2xoOCtWaG9ScWpHYXlnZzliS1BYMXpKbWRWOGV6VU5kZm9G?= =?utf-8?B?dFBFelMxdlZZU0ZBL2JQUDNEQ3E1MlkzdlJscG41azZkeFgyZXRKbmlSejNh?= =?utf-8?B?cWt1M2FYbkxxVWJ5Q2lMb3VleWJYV1FBbDNpaEEvZnJ2OW9LdzhEdk8vWTNQ?= =?utf-8?B?Z2tBVUJJcmZidWFEYndITVhKbVI5blQrbm5Qa3BHRnE2Ri9wbEk3a05uVjl1?= =?utf-8?B?RFg5UFB5SXdMWFVuZlpXaUNLcWVoU3NySkRyUEdRazNvSTZjcDFBNlhFbXBB?= =?utf-8?B?RWN5REJEc1g5K083L0xKUHl6di85Y2JJalcvVW5ISS9LcVh1RHpvV1liM1dk?= =?utf-8?B?MGx3dUt0MTlUS1BFbTljTHRWY3QzUDNEalJ5RS9xRzY2SEJQVVNTaGtGNG9U?= =?utf-8?B?K3lvQjZ6bjdJajJnc3dSTGVVRHJpdzBhSkIrTzVBMkFaZ2pWcmVuR3psTjhu?= =?utf-8?B?QnpQcUxDNTdWN1FEVkpYcXpuSXQ1S3RCa2E3RXVxSERJVGp3YWJWMVgyNE1C?= =?utf-8?B?R3U0a202KzVNSExhR0V5Qjd0UU1wTkxDbXlUWXlueWJlMlJqY0c3RmJHdFFZ?= =?utf-8?B?cDlMVnBhdUtzZkRxeXFIWTg2U2k2S05saW8rWHF0MFBCalZVclJ1OGR5TXpl?= =?utf-8?B?d2F2WWhCZzBuanFCWmZ2MXUyVm9FTWcxY3VidUFHc21LYzh6OSszd0x5MTZL?= =?utf-8?B?Q2s3dm5VdnliSUt4UGV0aURUTGxrc3NDYVZVM29zckkrSEZxdElEMWhzaUUx?= =?utf-8?B?NENkRlZBZGYveWRJWE1wd0xpVWtseDRCN0RNMXJBV3U3dE13N2lUczRVRGpU?= =?utf-8?B?WGhmZWtQQlllMnp4WUYvbnJrT2ZTN1dhZnFQTlBJaXFGamlPN3BwbFZxend3?= =?utf-8?B?em5QZVhNUkZpOU9tOFFZRmZwYUkrbi85TVFXNE4reC9XR3hkR3BhZmhJVVpF?= =?utf-8?B?YjVKZVFoVzlML3pIUWdicHJMZkNuaHcyNDVZRlh6OXZnYlNEaGs5dThmS2tk?= =?utf-8?B?WG5mMWhiRnhqSGhGclJndnM4a0Jpd3I2UFRiaDVzQjNIeE9VcFRuVFdpMUVv?= =?utf-8?B?Yjl4Tk1aZjBvL1FxalhLc2VFem1TNmNoMGJLdEoyRHluWC9ZaXpPbllnV2h0?= =?utf-8?B?WjBIWUVPNTQxSU9xeUNrdkozY01uWFJ6OS9iNFJBRlp6UEh6V2VGQXB6QmlE?= =?utf-8?B?R2wxekM0b2g4d3RjTG1CcW5ld1dkSXc9PQ==?= X-Microsoft-Exchange-Diagnostics: 1;BN6PR15MB1188;6:Org/bnQBvZ9MW5YY3NgtW2oWIaLnicyuBQYza24hTJ2Ksy027rwP2NXGah3irvzjjCr1jC2sjFVGhWgHyZ1Hty6nlupg8jWMccXsD8wqxJJPcf8Oua4UI7BZ48VFXJxtLRCq0QNgVHMHhlwZQy9QbyzdEHVy7KwJb46/FWPpm3lwM/fzDwxkPG3UMIywi6UDJ5itfbnMaiL3adGmstTT+eZYHSkTJM+MpD9YHIp2tEYZ4Mh8/1TMiqmqpL5rHPyg+z7BPD8kMuEFqruaQlROjWcn6BZfWkjDzgLkRZSGFxGt9OBZ/MDW3n61vNxHBvg7SQ9bwleBeLt505525dGYp1SfOpCTsVXVzn5oDKUaqNpSUSZDDu2hsjkKxlV8cZoXrkdVzc+OaOxv+Y/+Qt23cd3cwmDrkijcWNyYAa2dujUOTh/akvtV66JowKhQUpQHpReJwsxO8pdUCaUOPoNi4/a0syFJL8M0YIz5/aOqDqrQr05QZgaFEd9PDKMF9KOSOEWbRphTA0Y32KR03WSCVg==;5:fceqjC3evHZEr4MnPI0yA863zsEJmkNL14RV6FeHyphhmaKb3WCoPXWPfWcsmblLO7LEwLn261GA0k0hRw5yr/u3jwee0TlLKT2tTHG7S4kU4hvUMYqwk/HrqjmqIQig51dRg0nAXe2oumYG8Mk0eg==;24:s2+awj4RGaUmbUfcLVZ0tGKqQCrkipGqYIEFUlJBJkHogu9FkCxy+wUAyG9Wcj52KAHqngqydqsnBhi6weKab8FaAzGuaDdAlVzHradUlHk= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BN6PR15MB1188;7:rVRNdUTarIPQ6GwogI5uJZTQPFURjISm/YuMaDJFJVwDYw9lZfb4HTjBENefjpaAvJ5mchMRfebQf3DKkOyteHsQiHQYhj0E0V3isfXZWqJarXO0a5sDLNMq5TrdUxHmLPar4Esxp0qgqVaNMEjNaIH7qNJH4kNTR4r17rdrfQb9zNocsKFey+Axdgj6FLhklDv7eViuAz7LHHxRWLs1qNjJn/CYHTRpcAPnS4d4SANUWSvMeiy6JwpPhFqJkLuNHOCv98fuv6Y4hJN3XAIJw+2T1qWxGvMDu6QjDWgF/3TShBUCBI8vcrt3jsc7CqgKR52+A6IN/9X5zOKVuJ7IHQ==;20:TMD8rV1+UOuQJL+7uLUEbztBwt6gXwciMoXPBOGgk9W9sgwHsNl7fRS6ykxCe8uJJp13IR5Qx7GTwqCKy65KChZOhP4STNsCuydB/SKHZYaCoDlzKO9ekjtzxaMgvTmcLremKi28Ljo+pCfvlp+V+GPKo5yA044CIqIsAiZXMxI= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 May 2017 14:53:13.2127 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR15MB1188 X-OriginatorOrg: fb.com X-Proofpoint-Spam-Reason: safe X-FB-Internal: Safe X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-05-09_12:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 05/09/2017 12:07 AM, Mike Galbraith wrote: > Hi Jens, > > I was about to fix up this splat.. > > [ 445.022141] loop: module loaded > [ 445.078116] BUG: using smp_processor_id() in preemptible [00000000] code: loop0/3801 > [ 445.085873] caller is debug_smp_processor_id+0x17/0x20 > [ 445.091016] CPU: 7 PID: 3801 Comm: loop0 Tainted: G E 4.12.0-default #40 > [ 445.098838] Hardware name: IBM System x3550 M3 -[7944K3G]-/69Y5698 , BIOS -[D6E150AUS-1.10]- 12/15/2010 > [ 445.108564] Call Trace: > [ 445.111016] dump_stack+0x65/0x89 > [ 445.114330] check_preemption_disabled+0xde/0xf0 > [ 445.118945] debug_smp_processor_id+0x17/0x20 > [ 445.123300] blk_stat_add+0xb0/0x130 > [ 445.126876] __blk_mq_complete_request+0xb5/0x150 > [ 445.131575] blk_mq_complete_request+0x16/0x20 > [ 445.136020] loop_queue_work+0x5f/0xaa0 [loop] > [ 445.140461] ? _raw_spin_unlock_irq+0x21/0x40 > [ 445.144816] ? finish_task_switch+0x85/0x270 > [ 445.149085] ? __schedule+0x291/0x8c0 > [ 445.152747] kthread_worker_fn+0xc2/0x1d0 > [ 445.156754] kthread+0x114/0x150 > [ 445.159983] ? __kthread_init_worker+0xb0/0xb0 > [ 445.164424] ? kthread_park+0x60/0x60 > [ 445.168085] ret_from_fork+0x2c/0x40 Is it from this_cpu_ptr() in blk_stat_add()? > ..but then noticed that __blk_mq_run_hw_queue() is also called under > get_cpu(), but recently grew a might_sleep(), so maybe wants some block > layer eyeballs. That part is fine. The might sleep depends on BLOCKING being set in the hardware queue flags. And if that is set, then we don't call it under get_cpu(). -- Jens Axboe