[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] blkfront problem in pvops kernel when barriers enabled
>>> On 07.09.11 at 03:47, Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> wrote: > On Tue, Sep 06, 2011 at 07:16:34PM +0200, Marek Marczykowski wrote: >> On 06.09.2011 18:32, Konrad Rzeszutek Wilk wrote: >> > On Sun, Sep 04, 2011 at 12:49:42PM +0200, Marek Marczykowski wrote: >> >> Hello, >> >> >> >> Pvops block frontend (tested vanilla 3.0.3, 3.1rc2, Konrad's testing >> >> branch) produces a lot of I/O errors when barriers are enabled but >> >> cannot be used. >> >> >> >> On xenlinux I've got message: >> >> [ 15.036921] blkfront: xvdb: empty write barrier op failed >> >> [ 15.036936] blkfront: xvdb: barriers disabled >> >> >> >> and after that, everything works fine. On pvops - I/O errors. >> >> As backend I've used 2.6.38.3 xenlinux (based on SUSE package) and >> >> 3.1rc2 with same result. >> > >> > Hm, and the 'feature-barrier' was enabled on in those backends? >> > That is really bizzare considering that those backends don't actually >> > support WRITE_BARRIER anymore. >> >> At least in 2.6.38.3 xenlinux (SUSE). Now I'm not sure if 3.1rc2 also >> needed this modification (can't find it now). >> >> >> When I disable barriers (patching blkbackend to set feature-barrier=0) >> >> everything works fine with all above versions. >> > >> > Ok, and the patch you sent "[PATCH] Initialize vars in blkfront_connect" >> > as well? >> >> Yes. >> I've noticed now that this patch was needed only on your testing branch >> (not vanilla kernel). > > Oooo. Let me check what went wrong. Perhaps the fix is already applied in > my local tree. >> >> >> My setup is xen-4.1.1 (if it matters), backends: phy from device-mapper >> >> device and phy from loop device; frontends covered by device-mapper >> >> snapshot, which is set up in domU initramfs. >> >> >> >> It looks like some race condition, because when I setup device-mapper in >> >> domU and mount it manually (which cause some delays between steps), it >> >> works fine... >> >> >> >> Have you idea why it happens? What additional data can I provide debug it? >> >> >> >> In addition it should be possible to disable barrier without patching >> >> module... Perhaps some pciback module parameter? Or leave feature-* >> > >> > Not sure why you would touch pciback.. >> >> I mean blkback of course. >> >> > But the barrier should _not_ >> > be enabled in those backends. The 'feature-flush-cache' should be. >> >> (on 3.1rc2) Looking to xenstore now there is 'feature-flush-cache=1' and >> no 'feature-barrier'. So it is ok. > > <scratches head> > > I can only think of 2.6.38-3 XenOLinux doing it - and it is a bug > to do it. It really ought to _not_ advertise 'feature-barrier' and > instead advertise 'feature-flush-cache'. Indeed, I see that I added feature-flush-cache support to the frontend back then, but neglected to do so for the backend. Partly perhaps because I'm not much of a (block, network, ...) driver person... However, what I'm not understanding with dropping feature-barrier support from the backend - how do you deal with old frontends wanting to use barriers? I'm currently converting them into WRITE_FLUSH_FUA operations in the backend as a (hopefully) best effort approach. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |