Linux domU only works with xen_platform_pci=0 ?

Nathan Friess nathan.friess at gmail.com
Fri May 18 00:10:19 UTC 2018


On 2018-05-15 02:08 AM, Roger Pau Monné wrote:
> On Mon, May 14, 2018 at 08:34:54PM -0600, Nathan Friess wrote:
>>
>> I had similar issues with Linux domUs being unable to detect their disks
>> when FreeBSD 11.1-RELEASE is the backend:
>>
>> https://lists.freebsd.org/pipermail/freebsd-xen/2016-December/002924.html
>>
>>
>> What seems to be happening is that on my system the frontend and backend may
>> go from state InitWait to Initialised in different orders and so either end
>> may end up getting stuck waiting for the other side to change state when the
>> other side already has done so.
>>
>> I have been running with the attached patch since my last message above and
>> Linux domUs have been working perfectly since then.  I realize that the call
>> to pause() is not the correct solution but it demonstrates that some fine
>> tuning of how the states are handled will help.
> 
> Can you please give a try to the patch at:
> 
> https://lists.freebsd.org/pipermail/freebsd-xen/2018-May/003132.html
> 
> I think this is the proper way to solve the issue, and I would like to
> commit it ASAP in order to MFC it to stable-11 before 11.2 is
> released, but it could benefit from some more testing.
> 
> Thanks, Roger.
> 


I tried the patch on and I my Linux domU did was not able to complete 
the attachment to the FreeBSD backend.  I applied the patch to the 
11-RELEASE kernel. (I couldn't get 11-STABLE to compile.)

With xen_platform_pci=0 the frontend and backend vbds were both stuck in 
state 1.  With xen_platform_pci=1 the frontend was in state 1 and 
backend in state 3.

This second case is one that I think was happening before and why I 
added the pause as a hack.  Things seems to work best if both ends see 
each other go into state 2 and then proceed from there.  Adding the 
pause back in allows the frontend to go into state 3 but for some reason 
the backend stays in state 2.

So the above patch is an improvement but it is still possible to miss 
state changes.  I didn't have time last night to do full debugging to 
see why the backend didn't move from state 2 to 3 in the last case.

Nathan


More information about the freebsd-xen mailing list