Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp2931464pxk; Mon, 28 Sep 2020 04:13:35 -0700 (PDT) X-Google-Smtp-Source: ABdhPJydsE1O+/DPLX6AiuZ2NMBFaJqwoi6RLup/JFcAXCS1BB0NBVLkT/GVHcWHVCdRChYXPnU5 X-Received: by 2002:a17:906:1f42:: with SMTP id d2mr1048916ejk.407.1601291615429; Mon, 28 Sep 2020 04:13:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1601291615; cv=none; d=google.com; s=arc-20160816; b=rVCzal1o3CcKFS5PQ5Umu+dC+DqVGyba6gyxIjBiLq4itthzFjrVknl6lvoXpsf3EB rwKOQffHrqgD+TJn7MaAuCEb+1Exjf3e897tNgPGebGaY9L+REByow8FRj9PagPdMfij 36gDYAlDSiLGsuDRwG3A8qa/9ufEcinfS0Hrk5g+akNY2Fwvi66mng7m/UwyrezSLnPP TseMRBdKHasGSpsS1W0/UQXgyM/76mfuZnnjUx8+eGzVSAtq7t3mf36szDuB2pmS+Wpo H/HD41TzJwB4hM5DOwj0jUJIymo/Xki8TdmOK5Wt8c3zB45/vby3u7AiiJ1UiiAlhRK6 3/tg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:autocrypt:from :references:cc:to:subject:dkim-signature; bh=/mQ4AFIAeddYGXg7KCSra/6q6JjdpVSXgDi3BND1fhY=; b=r6ceunlCQn3sQVjivYaY5VWcNnHOAYOIbp5A9ISYPO3cl1oMfIgxnbbn+hfQvvAZcg SzsfCYsoB4o3RDZANbQB/RpVe2VZfxDE3e1mM/3PDsuD2fp5lFvLNnbKsJvg6tcvl/7Q aepGPJrSpVKsbChw0DA3/Bv0KAJk8qz8GvS69dcIli1fYfdBstLUL+1Dzdxwz0kwEv4/ Rih+9VuLcCYkvbD2ZI1Es5As+b3oAf4LenKBUHKXbbaHf3YK/2Tn0b6zbN13iNUzxgTj ZwFWndPnxwFxT4ukCSC2A0e0DIR7E62EwbIQJ5F95tdE357dGoAnCDekrpPINo2A10ev OX6g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=ylAQgUPK; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id bu14si384894edb.128.2020.09.28.04.13.12; Mon, 28 Sep 2020 04:13:35 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=ylAQgUPK; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726613AbgI1LKV (ORCPT + 99 others); Mon, 28 Sep 2020 07:10:21 -0400 Received: from mail.kernel.org ([198.145.29.99]:58732 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726328AbgI1LKU (ORCPT ); Mon, 28 Sep 2020 07:10:20 -0400 Received: from [192.168.0.112] (75-58-59-55.lightspeed.rlghnc.sbcglobal.net [75.58.59.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 546712080A; Mon, 28 Sep 2020 11:10:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1601291419; bh=wYqO00bCRCBLIXF7AwyYWv9ZRjMNILumIMJciP1IhIk=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=ylAQgUPKW1cL9jioDd4xvnxl4dvs4ndWg2LJcS0ZHQEJ6hRL3iJyIkyj5NVPbrddN jOrDQsF8gP0EqBmP4opUyv2Il08NrHOkqKvJZ5V3J4xUpeoqXrOQXlyaa+yVucKYYu mB2Ztmcit17uS3j/+dYAcz5GJ7XRCLmAowVv/AeA= Subject: Re: [PATCH 2/5 V2] PCI: pciehp: check and wait port status out of DPC before handling DLLSC and PDC To: "Zhao, Haifeng" , "bhelgaas@google.com" , "oohall@gmail.com" , "ruscur@russell.cc" , "lukas@wunner.de" , "andriy.shevchenko@linux.intel.com" , "stuart.w.hayes@gmail.com" , "mr.nuke.me@gmail.com" , "mika.westerberg@linux.intel.com" , Keith Busch Cc: "linux-pci@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "Jia, Pei P" , "ashok.raj@linux.intel.com" , "Kuppuswamy, Sathyanarayanan" References: <20200927032829.11321-1-haifeng.zhao@intel.com> <20200927032829.11321-3-haifeng.zhao@intel.com> From: Sinan Kaya Autocrypt: addr=okaya@kernel.org; keydata= mQENBFrnOrUBCADGOL0kF21B6ogpOkuYvz6bUjO7NU99PKhXx1MfK/AzK+SFgxJF7dMluoF6 uT47bU7zb7HqACH6itTgSSiJeSoq86jYoq5s4JOyaj0/18Hf3/YBah7AOuwk6LtV3EftQIhw 9vXqCnBwP/nID6PQ685zl3vH68yzF6FVNwbDagxUz/gMiQh7scHvVCjiqkJ+qu/36JgtTYYw 8lGWRcto6gr0eTF8Wd8f81wspmUHGsFdN/xPsZPKMw6/on9oOj3AidcR3P9EdLY4qQyjvcNC V9cL9b5I/Ud9ghPwW4QkM7uhYqQDyh3SwgEFudc+/RsDuxjVlg9CFnGhS0nPXR89SaQZABEB AAG0HVNpbmFuIEtheWEgPG9rYXlhQGtlcm5lbC5vcmc+iQFOBBMBCAA4FiEEYdOlMSE+a7/c ckrQvGF4I+4LAFcFAlztcAoCGwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQvGF4I+4L AFfidAf/VKHInxep0Z96iYkIq42432HTZUrxNzG9IWk4HN7c3vTJKv2W+b9pgvBF1SmkyQSy 8SJ3Zd98CO6FOHA1FigFyZahVsme+T0GsS3/OF1kjrtMktoREr8t0rK0yKpCTYVdlkHadxmR Qs5xLzW1RqKlrNigKHI2yhgpMwrpzS+67F1biT41227sqFzW9urEl/jqGJXaB6GV+SRKSHN+ ubWXgE1NkmfAMeyJPKojNT7ReL6eh3BNB/Xh1vQJew+AE50EP7o36UXghoUktnx6cTkge0ZS qgxuhN33cCOU36pWQhPqVSlLTZQJVxuCmlaHbYWvye7bBOhmiuNKhOzb3FcgT7kBDQRa5zq1 AQgAyRq/7JZKOyB8wRx6fHE0nb31P75kCnL3oE+smKW/sOcIQDV3C7mZKLf472MWB1xdr4Tm eXeL/wT0QHapLn5M5wWghC80YvjjdolHnlq9QlYVtvl1ocAC28y43tKJfklhHiwMNDJfdZbw 9lQ2h+7nccFWASNUu9cqZOABLvJcgLnfdDpnSzOye09VVlKr3NHgRyRZa7me/oFJCxrJlKAl 2hllRLt0yV08o7i14+qmvxI2EKLX9zJfJ2rGWLTVe3EJBnCsQPDzAUVYSnTtqELu2AGzvDiM gatRaosnzhvvEK+kCuXuCuZlRWP7pWSHqFFuYq596RRG5hNGLbmVFZrCxQARAQABiQEfBBgB CAAJBQJa5zq1AhsMAAoJELxheCPuCwBX2UYH/2kkMC4mImvoClrmcMsNGijcZHdDlz8NFfCI gSb3NHkarnA7uAg8KJuaHUwBMk3kBhv2BGPLcmAknzBIehbZ284W7u3DT9o1Y5g+LDyx8RIi e7pnMcC+bE2IJExCVf2p3PB1tDBBdLEYJoyFz/XpdDjZ8aVls/pIyrq+mqo5LuuhWfZzPPec 9EiM2eXpJw+Rz+vKjSt1YIhg46YbdZrDM2FGrt9ve3YaM5H0lzJgq/JQPKFdbd5MB0X37Qc+ 2m/A9u9SFnOovA42DgXUyC2cSbIJdPWOK9PnzfXqF3sX9Aol2eLUmQuLpThJtq5EHu6FzJ7Y L+s0nPaNMKwv/Xhhm6Y= Message-ID: <14b7d988-212b-93dc-6fa6-6b155d5c8ac3@kernel.org> Date: Mon, 28 Sep 2020 07:10:17 -0400 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.12.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 9/27/2020 10:01 PM, Zhao, Haifeng wrote: > Sinan, > I explained the reason why locks don't protect this case in the patch description part. > Write side and read side hold different semaphore and mutex. > I have been thinking about it some time but is there any reason why we have to handle all port AER/DPC/HP events in different threads? Can we go to single threaded event loop for all port drivers events? This will require some refactoring but it wlll eliminate the lock nightmares we are having. This means no sleeping. All sleeps need to happen outside of the loop. I wanted to see what you all are thinking about this. It might become a performance problem if the system is continuously observing a hotplug/aer/dpc events. I always think that these should be rare events.