[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 11:50, "Jan Beulich" <JBeulich@xxxxxxxx> wrote: >>>> 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. Also I notice you're using WRITE_ODIRECT - what's the background of that? Thanks, Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |