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