[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Xen-unstable PVHdom0: Assertion 'IS_ALIGNED(dfn_x(dfn), (1ul << page_order))' failed at iommu.c:324



On Thu, Jan 24, 2019 at 10:25:33AM +0100, Sander Eikelenboom wrote:
> On 24/01/2019 08:50, Roger Pau Monné wrote:
> > On Wed, Jan 23, 2019 at 08:56:48PM +0100, Sander Eikelenboom wrote:
> >> On 23/01/2019 19:25, Roger Pau Monné wrote:
> >>> On Wed, Jan 23, 2019 at 12:39:21AM +0100, Sander Eikelenboom wrote:
> >>>> On 22/01/2019 17:14, Roger Pau Monné wrote:
> >>>>> On Sun, Jan 20, 2019 at 11:09:25PM +0100, Sander Eikelenboom wrote:
> >>>>>> On 18/01/2019 18:56, Roger Pau Monné wrote:
> >>>>>>> On Fri, Jan 18, 2019 at 03:17:57PM +0100, Sander Eikelenboom wrote:
> >>>>>>>> On 18/01/2019 13:50, Roger Pau Monné wrote:
> >>>>>>>>> On Fri, Jan 18, 2019 at 01:03:04PM +0100, Sander Eikelenboom wrote:
> >>>>>>>>>> Hi Roger,
> >>>>>>>>>>
> >>>>>>>>>> I gave PVH dom0 a spin, see how far I would get.
> >>>>>>>>>
> >>>>>>>>> Thanks!
> >>>>>>>>>
> >>>>>>>>>> With current xen-unstable unfortunately not that far, i got the 
> >>>>>>>>>> splat below.
> >>>>>>>>>
> >>>>>>>>> Yes, this was already reported:
> >>>>>>>>>
> >>>>>>>>> https://lists.xenproject.org/archives/html/xen-devel/2019-01/msg01030.html
> >>>>>>>>>> If you need more info, would like me to test a patch (or some 
> >>>>>>>>>> other git tree/branch), 
> >>>>>>>>>> I will be happy to give it a spin !
> >>>>>>>>>
> >>>>>>>>> Paul is working on a fix, but in the meantime just removing the
> >>>>>>>>> assertions should be fine:
> >>>>>>>>>
> >>>>>>>>> ---8<---
> >>>>>>>>> diff --git a/xen/drivers/passthrough/iommu.c 
> >>>>>>>>> b/xen/drivers/passthrough/iommu.c
> >>>>>>>>> index bd1af35a13..98e6fc35e2 100644
> >>>>>>>>> --- a/xen/drivers/passthrough/iommu.c
> >>>>>>>>> +++ b/xen/drivers/passthrough/iommu.c
> >>>>>>>>> @@ -321,9 +321,6 @@ int iommu_map(struct domain *d, dfn_t dfn, 
> >>>>>>>>> mfn_t mfn,
> >>>>>>>>>      if ( !iommu_enabled || !hd->platform_ops )
> >>>>>>>>>          return 0;
> >>>>>>>>>  
> >>>>>>>>> -    ASSERT(IS_ALIGNED(dfn_x(dfn), (1ul << page_order)));
> >>>>>>>>> -    ASSERT(IS_ALIGNED(mfn_x(mfn), (1ul << page_order)));
> >>>>>>>>> -
> >>>>>>>>>      for ( i = 0; i < (1ul << page_order); i++ )
> >>>>>>>>>      {
> >>>>>>>>>          rc = hd->platform_ops->map_page(d, dfn_add(dfn, i), 
> >>>>>>>>> mfn_add(mfn, i),
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>> I gave that a spin and i now get a seemingly endless stream of 
> >>>>>>>> IO_PAGE_FAULTs
> >>>>>>>
> >>>>>>> You shouldn't get those page faults since they are for addresses that
> >>>>>>> belong to a reserved region, and that should be mapped into the p2m.
> >>>>>>> I've just tested on my AMD box and I'm also seeing errors (albeit
> >>>>>>> different ones), so I guess something broke since I last fixed PVH
> >>>>>>> Dom0 to boot on AMD hardware.
> >>>>>>>
> >>>>>>> I've also tested commit:
> >>>>>>>
> >>>>>>> commit fad6ba64a8c98bebb9374f390cc255fac05237ab (HEAD)
> >>>>>>> Author: Roger Pau Monné <roger.pau@xxxxxxxxxx>
> >>>>>>> Date:   Fri Nov 30 12:10:00 2018 +0100
> >>>>>>> amd/iommu: skip host bridge devices when updating IOMMU page tables
> >>>>>>>
> >>>>>>> And it works on my AMD box and I'm able to boot as a PVH Dom0. Can you
> >>>>>>> give this commit a spin?
> >>>>>>>
> >>>>>>> Thanks, Roger.
> >>>>>>>
> >>>>>>
> >>>>>> Hi Roger,
> >>>>>>
> >>>>>> Tested that commit, but that didn't help.
> >>>>>
> >>>>> Thanks! Sorry for the delay, I got sidetracked with something else.
> >>>>
> >>>> No problem, it's not too urgent and probably a busy time with the 
> >>>> remaining 4.12 stuff.
> >>>>  
> >>>>> Can you please post the serial log when using the above commit?
> >>>>
> >>>> Sure, I attached a log of:
> >>>>  - fad6ba64a8c98bebb9374f390cc255fac05237ab  dom0 PVH unsuccesful boot
> >>>>  - fad6ba64a8c98bebb9374f390cc255fac05237ab  dom0 PV    succesful boot
> >>>
> >>> Thanks. So you get the same IO page faults.
> >>>
> >>> I don't seem to be able to reproduce this behaviour on my AMD box, but
> >>> that might be just luck. I've been finding some issues today related
> >>> to the IOMMU, could you give the following patch a spin and paste the
> >>> serial log that you get.
> >>
> >> Hi Roger,
> >>
> >> Sure, on top of what ?
> >> - fad6ba64a8c98bebb9374f390cc255fac05237ab ?
> >> - xen-unstable ?
> >> - xen-unstable + Paul's patch ?
> > 
> > Hello,
> > 
> > Sorry for not proving the right context, let's try on top of
> > xen-unstable + Paul's patch.
> > 
> > Thanks, Roger.
> > 
> 
> Seems to be giving the same result (stream of IO_PAGE_FAULTs), serial
> log attached.

Thanks, I think I've figured out what's wrong. I've prepared a git
branch for you to test:

git://xenbits.xen.org/people/royger/xen.git iommu-fixes

Could you give this a try?

Thanks, Roger.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.