WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] blkfront problem in pvops kernel when barriers enabled

To: "Konrad Rzeszutek Wilk" <konrad.wilk@xxxxxxxxxx>
Subject: Re: [Xen-devel] blkfront problem in pvops kernel when barriers enabled
From: "Jan Beulich" <JBeulich@xxxxxxxx>
Date: Wed, 07 Sep 2011 10:50:48 +0100
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, Marek Marczykowski <marmarek@xxxxxxxxxxxx>
Delivery-date: Wed, 07 Sep 2011 02:51:19 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20110907014741.GD30639@xxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <4E6357C6.6050101@xxxxxxxxxxxx> <20110906163213.GC5264@xxxxxxxxxxxx> <4E665572.7080009@xxxxxxxxxxxx> <20110907014741.GD30639@xxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
>>> 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