Date: Thu, 17 May 2018 18:10:15 -0600 From: Nathan Friess <nathan.friess@gmail.com> To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <royger@FreeBSD.org> Cc: freebsd-xen@freebsd.org Subject: Re: Linux domU only works with xen_platform_pci=0 ? Message-ID: <c834ba9c-251a-ed00-dfaa-f3b012e3c302@gmail.com> In-Reply-To: <20180515080836.kufr3q3mk5mxwx4q@MacBook-Pro-de-Roger.local> References: <a5a066b7-625f-d18f-6ea6-663256c09e59@duckster.net> <20180513151649.4ls73myegkhm3cep@MacBook-Pro-de-Roger.local> <0749df4b-1614-dcdf-1bf2-1bbad1ae5743@duckster.net> <20180514130445.ahqk5ol3kdhriqju@MacBook-Pro-de-Roger.local> <6c0e1f5a-3e7d-054e-298c-5ec3d97e6141@gmail.com> <20180515080836.kufr3q3mk5mxwx4q@MacBook-Pro-de-Roger.local>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?c834ba9c-251a-ed00-dfaa-f3b012e3c302>