Subject: Can a driver->probe be called for two devices at the same time (WAS: Re: [PATCH] crypto/ccp: don't disable interrupts while setting up debugfs)

On 2018-02-27 11:08:56 [-0600], Gary R Hook wrote:
> That issue remains unclear to me: Are probes of PCI devices guaranteed to be
> serialized? Observations on my CCPs says that they occur in order, but I
> don't know for certain that serialization is guaranteed.
>
> Is there a definitive statement on this somewhere that I just don't know
> about?

So the question if a driver can probe two devices simultaneously. I'm
not sure. We have PROBE_PREFER_ASYNCHRONOUS which defers the probe to
worker. However I have no idea if two of those worker can run at the
same time.

> I think a mutex would be just fine; I got this wrong, clearly. Let me work
> up a patch using a mutex.

I've sent one. Why not just ack it and be done with it?

> Gary

Sebastian


2018-02-27 17:45:59

by Gary R Hook

[permalink] [raw]
Subject: Re: Can a driver->probe be called for two devices at the same time (WAS: Re: [PATCH] crypto/ccp: don't disable interrupts while setting up debugfs)

On 02/27/2018 11:33 AM, Sebastian Andrzej Siewior wrote:
> On 2018-02-27 11:08:56 [-0600], Gary R Hook wrote:
>> That issue remains unclear to me: Are probes of PCI devices guaranteed to be
>> serialized? Observations on my CCPs says that they occur in order, but I
>> don't know for certain that serialization is guaranteed.
>>
>> Is there a definitive statement on this somewhere that I just don't know
>> about?
>
> So the question if a driver can probe two devices simultaneously. I'm
> not sure. We have PROBE_PREFER_ASYNCHRONOUS which defers the probe to
> worker. However I have no idea if two of those worker can run at the
> same time.
>
>> I think a mutex would be just fine; I got this wrong, clearly. Let me work
>> up a patch using a mutex.
>
> I've sent one. Why not just ack it and be done with it?
>
>> Gary
>
> Sebastian
>

Sorry, too much chaos right now. Of course.

2018-02-27 18:40:34

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: Can a driver->probe be called for two devices at the same time (WAS: Re: [PATCH] crypto/ccp: don't disable interrupts while setting up debugfs)

On Tue, Feb 27, 2018 at 06:33:14PM +0100, Sebastian Andrzej Siewior wrote:
> On 2018-02-27 11:08:56 [-0600], Gary R Hook wrote:
> > That issue remains unclear to me: Are probes of PCI devices guaranteed to be
> > serialized? Observations on my CCPs says that they occur in order, but I
> > don't know for certain that serialization is guaranteed.
> >
> > Is there a definitive statement on this somewhere that I just don't know
> > about?

The bus enforces this.

> So the question if a driver can probe two devices simultaneously.

Depends on the bus type.

thanks,

greg k-h

Subject: Re: Can a driver->probe be called for two devices at the same time (WAS: Re: [PATCH] crypto/ccp: don't disable interrupts while setting up debugfs)

On 2018-02-27 19:40:34 [+0100], Greg Kroah-Hartman wrote:
> On Tue, Feb 27, 2018 at 06:33:14PM +0100, Sebastian Andrzej Siewior wrote:
> > On 2018-02-27 11:08:56 [-0600], Gary R Hook wrote:
> > > That issue remains unclear to me: Are probes of PCI devices guaranteed to be
> > > serialized? Observations on my CCPs says that they occur in order, but I
> > > don't know for certain that serialization is guaranteed.
> > >
> > > Is there a definitive statement on this somewhere that I just don't know
> > > about?
>
> The bus enforces this.
>
> > So the question if a driver can probe two devices simultaneously.
>
> Depends on the bus type.

PCI

> thanks,
>
> greg k-h

Sebastian

2018-02-27 20:11:24

by Gary R Hook

[permalink] [raw]
Subject: Re: Can a driver->probe be called for two devices at the same time (WAS: Re: [PATCH] crypto/ccp: don't disable interrupts while setting up debugfs)

On 02/27/2018 01:36 PM, Sebastian Andrzej Siewior wrote:
> On 2018-02-27 19:40:34 [+0100], Greg Kroah-Hartman wrote:
>> On Tue, Feb 27, 2018 at 06:33:14PM +0100, Sebastian Andrzej Siewior wrote:
>>> On 2018-02-27 11:08:56 [-0600], Gary R Hook wrote:
>>>> That issue remains unclear to me: Are probes of PCI devices guaranteed to be
>>>> serialized? Observations on my CCPs says that they occur in order, but I
>>>> don't know for certain that serialization is guaranteed.
>>>>
>>>> Is there a definitive statement on this somewhere that I just don't know
>>>> about?
>>
>> The bus enforces this.
>>
>>> So the question if a driver can probe two devices simultaneously.
>>
>> Depends on the bus type.
>
> PCI

So the question is whether or not PCI enforces serial activity within a
domain. The CCPs are all on different buses, so that doesn't matter.

I think we don't care in this situation, given that the CCP driver has
minor requirements for locking. I just found it an interesting (albeit
somewhat academic) question.

Thanks,
Gary