From: "Kuppuswamy, Sathyanarayanan" <sathyanarayanan.kuppuswamy@intel.com>
To: Sinan Kaya <okaya@kernel.org>,
"Zhao, Haifeng" <haifeng.zhao@intel.com>,
"bhelgaas@google.com" <bhelgaas@google.com>,
"oohall@gmail.com" <oohall@gmail.com>,
"ruscur@russell.cc" <ruscur@russell.cc>,
"lukas@wunner.de" <lukas@wunner.de>,
"andriy.shevchenko@linux.intel.com"
<andriy.shevchenko@linux.intel.com>,
"stuart.w.hayes@gmail.com" <stuart.w.hayes@gmail.com>,
"mr.nuke.me@gmail.com" <mr.nuke.me@gmail.com>,
"mika.westerberg@linux.intel.com"
<mika.westerberg@linux.intel.com>,
Keith Busch <keith.busch@intel.com>
Cc: "linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"Jia, Pei P" <pei.p.jia@intel.com>,
"ashok.raj@linux.intel.com" <ashok.raj@linux.intel.com>
Subject: Re: [PATCH 2/5 V2] PCI: pciehp: check and wait port status out of DPC before handling DLLSC and PDC
Date: Mon, 28 Sep 2020 09:44:36 -0700 [thread overview]
Message-ID: <38cc8252-e485-ef11-93a1-7b43ad85fc2e@intel.com> (raw)
In-Reply-To: <16431a60-027e-eca9-36f4-74d348e88090@kernel.org>
On 9/28/20 9:43 AM, Sinan Kaya wrote:
> On 9/28/2020 7:10 AM, Sinan Kaya wrote:
>> 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.
> If restructuring would be too costly, the preferred solution should be
> to fix the locks in hotplug driver rather than throwing there a random
> wait call.
Since the current race condition is detected between DPC and
hotplug, I recommend synchronizing them.
--
Sathyanarayanan Kuppuswamy
Linux Kernel Developer
next prev parent reply other threads:[~2020-09-28 16:44 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-27 3:28 [PATCH 0/5 V2] Fix DPC hotplug race and enhance error handling Ethan Zhao
2020-09-27 3:28 ` [PATCH 1/5 V2] PCI: define a function to check and wait till port finish DPC handling Ethan Zhao
2020-09-27 6:23 ` Christoph Hellwig
2020-09-27 6:43 ` Zhao, Haifeng
2020-09-29 2:32 ` Ethan Zhao
2020-09-27 3:28 ` [PATCH 2/5 V2] PCI: pciehp: check and wait port status out of DPC before handling DLLSC and PDC Ethan Zhao
2020-09-27 15:27 ` Sinan Kaya
2020-09-28 2:01 ` Zhao, Haifeng
2020-09-28 11:10 ` Sinan Kaya
2020-09-28 16:43 ` Sinan Kaya
2020-09-28 16:44 ` Kuppuswamy, Sathyanarayanan [this message]
2020-09-29 2:28 ` Ethan Zhao
2020-09-29 2:50 ` Ethan Zhao
2020-09-29 8:18 ` Lukas Wunner
2020-09-29 9:46 ` Ethan Zhao
2020-09-29 10:07 ` Lukas Wunner
2020-09-30 2:20 ` Ethan Zhao
2020-09-27 3:28 ` [PATCH 3/5 V2] PCI/ERR: get device before call device driver to avoid NULL pointer reference Ethan Zhao
2020-09-27 3:28 ` [PATCH 4/5 V2] PCI: only return true when dev io state is really changed Ethan Zhao
2020-09-27 4:16 ` Joe Perches
2020-09-27 5:12 ` Zhao, Haifeng
2020-09-27 3:28 ` [PATCH 5/5 V2] PCI/ERR: don't mix io state not changed and no driver together Ethan Zhao
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=38cc8252-e485-ef11-93a1-7b43ad85fc2e@intel.com \
--to=sathyanarayanan.kuppuswamy@intel.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=ashok.raj@linux.intel.com \
--cc=bhelgaas@google.com \
--cc=haifeng.zhao@intel.com \
--cc=keith.busch@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=lukas@wunner.de \
--cc=mika.westerberg@linux.intel.com \
--cc=mr.nuke.me@gmail.com \
--cc=okaya@kernel.org \
--cc=oohall@gmail.com \
--cc=pei.p.jia@intel.com \
--cc=ruscur@russell.cc \
--cc=stuart.w.hayes@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.