On Tue, Sep 27, 2022 at 01:13:57PM +0200, Pali Rohár wrote: > Hello! Just briefly from my side, but Marek would probably answer it > better. > > On Tuesday 27 September 2022 10:29:26 Lorenzo Pieralisi wrote: > > Better, certainly. Question, also related to Marc's query. Do you > > rely on the hotplug (emulated IRQ) to be run _before_ carrying on > > with PCI config space accesses following a link-up detection ? > > During PCI config space access is PCI core code holding atomic raw spin > lock, so link-up check from PCI config space can throw emulated HP IRQ > only _after_ config space is finished (when IRQs are unmasked again). So > it happens after (not before). > > > How was the jiffies + 1 expiration time determined ? > > jiffies + 1 was chosen as the earliest possible time when HP IRQ can be > thrown. Somebody said to me (year or more ago, no remember who and > when) that I cannot use just "jiffies", I have to use "jiffies + 1", so > timer would be scheduled after my call finish, which is after PCI config > space access finish. jiffies + 1 should be the earliest possible time > with the highest priority. > > > I assume you > > want to run the emulated HP IRQ asap - the question though is > > how fast should it be ? > > HP IRQ should be thrown _ASAP_ when we know that link is up, so PCIe HP > driver can handle it and do its job. Just like for hardware which fully > and correctly supports link up HP IRQs. My question really is - what are we expecting the HP core code to fix up ? And related, is it safe to carry on with the PCI config space access till the IRQ is actually emulated to carry out those actions ? Lorenzo