+ Jörg.

On Fri, Sep 14, 2018 at 08:26:07AM +0200, Rafael J. Wysocki wrote:
> On Friday, September 14, 2018 4:29:46 AM CEST Pingfan Liu wrote:
> > On Thu, Sep 13, 2018 at 10:15 PM Rafael J. Wysocki <r...@rjwysocki.net> 
> > wrote:
> > >
> > > On Thursday, September 13, 2018 12:03:36 PM CEST James Wang wrote:
> > > >  This is a multi-part message in MIME format.
> > > > --------------F5519E624D0AD1E3F7DDA019
> > > > Content-Type: text/plain; charset=utf-8
> > > > Content-Transfer-Encoding: 8bit
> > > >
> > > >
> > > >
> > > > On 09/11/2018 02:15 PM, Takashi Iwai wrote:
> > > > > On Tue, 11 Sep 2018 14:11:30 +0200,
> > > > > James Wang wrote:
> > > > >> I did try it from kernel : head
> > > > > OK, then the bug is present with 4.19-rc2, at least.
> > > > > Please check my test kernel later (it's still being built).
> > > > Hi folks,  I attach two log about 4.19-rc3 and 4.19-rc3+Rafeal 
> > > > suggestion.
> > >
> > > OK, no difference AFAICS.
> > >
> > > This means that the commit turned up by bisection simply uncovered an 
> > > existing
> > > ordering issue, apparently between an IOMMU and its client (ie. it 
> > > appears that
> > > the client is shut down after the IOMMU).
> > >
> > > This isn't limited to shutdown and you'd see the same issue on system-wide
> > > suspend/resume (in fact, the Pingfan Liu's patches make shutdown use the
> > > same device list that is used for system-wide PM).
> > >
> > > One way to mitigate such issues is to add a device link between the two
> > > devices in question to enforce the correct suspend/resume/shutdown 
> > > ordering
> > > between them.
> > >
> > I found the iommu was at  " 0000:00:00.2", while  ohci-pci is at
> > 0000:00:13.1. Hence ohci-pci should be shutdown before iommu. Not
> > familiar with AMD's iommu code, but I think there is no shutdown
> > interface exported to drivers/base. It is shutdown by platform code in
> > arch/x86. So I think there should be someone teared down the iotbl,
> > e.g. by invalidating pages, before the shutdown of ohci-pci. I wonder
> > whether adding a device link can fix this bug or not. (Forgive me if I
> > made a mistake, since I am ignorant in this field)
> 
> Adding a device link should help, as it effectively causes dpm_list to
> be reordered in accordance with the link direction, but it also takes
> care of the other children and linked devices as appropriate.
> 
> The difficulty is that whoever wants to add a device link between two
> devices needs to have pointers to the device objects in question upfront.
> 
> Thanks,
> Rafael
> 

-- 
Regards/Gruss,
    Boris.

SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 
(AG Nürnberg)
-- 

Reply via email to