xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Stefano Stabellini <sstabellini@kernel.org>
To: Paul Durrant <Paul.Durrant@citrix.com>
Cc: Juergen Gross <jgross@suse.com>,
	"sstabellini@kernel.org" <sstabellini@kernel.org>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	"kraxel@redhat.com" <kraxel@redhat.com>,
	Jan Beulich <JBeulich@suse.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2] xen: fix qdisk BLKIF_OP_DISCARD for 32/64 word size mix
Date: Fri, 17 Jun 2016 17:10:15 +0100 (BST)	[thread overview]
Message-ID: <alpine.DEB.2.10.1606171707300.18449@sstabellini-ThinkPad-X260> (raw)
In-Reply-To: <8b53bcd700444ee883e0450c51ca7cb9@AMSPEX02CL03.citrite.net>

On Fri, 17 Jun 2016, Paul Durrant wrote:
> > -----Original Message-----
> > From: Juergen Gross [mailto:jgross@suse.com]
> > Sent: 17 June 2016 11:40
> > To: Paul Durrant; Jan Beulich
> > Cc: Anthony Perard; xen-devel; sstabellini@kernel.org; qemu-
> > devel@nongnu.org; kraxel@redhat.com
> > Subject: Re: [Xen-devel] [PATCH v2] xen: fix qdisk BLKIF_OP_DISCARD for
> > 32/64 word size mix
> > 
> > On 17/06/16 12:15, Paul Durrant wrote:
> > >> -----Original Message-----
> > >> From: Xen-devel [mailto:xen-devel-bounces@lists.xen.org] On Behalf Of
> > >> Juergen Gross
> > >> Sent: 17 June 2016 11:08
> > >> To: Paul Durrant; Jan Beulich
> > >> Cc: Anthony Perard; xen-devel; sstabellini@kernel.org; qemu-
> > >> devel@nongnu.org; kraxel@redhat.com
> > >> Subject: Re: [Xen-devel] [PATCH v2] xen: fix qdisk BLKIF_OP_DISCARD for
> > >> 32/64 word size mix
> > >>
> > >> On 17/06/16 11:50, Paul Durrant wrote:
> > >>>> -----Original Message-----
> > >>>> From: Juergen Gross [mailto:jgross@suse.com]
> > >>>> Sent: 17 June 2016 10:46
> > >>>> To: Paul Durrant; Jan Beulich
> > >>>> Cc: Anthony Perard; xen-devel; sstabellini@kernel.org; qemu-
> > >>>> devel@nongnu.org; kraxel@redhat.com
> > >>>> Subject: Re: [Xen-devel] [PATCH v2] xen: fix qdisk BLKIF_OP_DISCARD
> > for
> > >>>> 32/64 word size mix
> > >>>>
> > >>>> On 17/06/16 11:37, Paul Durrant wrote:
> > >>>>>> -----Original Message-----
> > >>>>>> From: Xen-devel [mailto:xen-devel-bounces@lists.xen.org] On
> > Behalf
> > >> Of
> > >>>> Jan
> > >>>>>> Beulich
> > >>>>>> Sent: 17 June 2016 10:26
> > >>>>>> To: Juergen Gross
> > >>>>>> Cc: Anthony Perard; xen-devel; sstabellini@kernel.org; qemu-
> > >>>>>> devel@nongnu.org; kraxel@redhat.com
> > >>>>>> Subject: Re: [Xen-devel] [PATCH v2] xen: fix qdisk
> > BLKIF_OP_DISCARD
> > >> for
> > >>>>>> 32/64 word size mix
> > >>>>>>
> > >>>>>>>>> On 17.06.16 at 11:14, <JGross@suse.com> wrote:
> > >>>>>>> In case the word size of the domU and qemu running the qdisk
> > >> backend
> > >>>>>>> differ BLKIF_OP_DISCARD will not work reliably, as the request
> > >>>>>>> structure in the ring have different layouts for different word size.
> > >>>>>>>
> > >>>>>>> Correct this by copying the request structure in case of different
> > >>>>>>> word size element by element in the BLKIF_OP_DISCARD case, too.
> > >>>>>>>
> > >>>>>>> The easiest way to achieve this is to resync hw/block/xen_blkif.h
> > with
> > >>>>>>> its original source from the Linux kernel.
> > >>>>>>>
> > >>>>>>> Signed-off-by: Juergen Gross <jgross@suse.com>
> > >>>>>>> ---
> > >>>>>>> V2: resync with Linux kernel version of hw/block/xen_blkif.h as
> > >>>>>>>     suggested by Paul Durrant
> > >>>>>>
> > >>>>>> Oh, I didn't realize he suggested syncing with the Linux variant.
> > >>>>>> Why not with the canonical one? I have to admit that I particularly
> > >>>>>> dislike Linux'es strange union-izng, mainly because of it requiring
> > >>>>>> this myriad of __attribute__((__packed__)).
> > >>>>>>
> > >>>>>
> > >>>>> Yes, it's truly grotesque and such things should be blown away with
> > >>>> extreme prejudice.
> > >>>>
> > >>>> Sorry, I'm confused now.
> > >>>>
> > >>>> Do you still mandate for the resync or not?
> > >>>>
> > >>>> Resyncing with elimination of all the __packed__ stuff seems not to be
> > >>>> a proper alternative as this would require a major rework.
> > >>>
> > >>> Why? Replacing the existing horribleness with the canonical header
> > (fixed
> > >> for style) might mean a large diff but it should be functionally the same or
> > >> something has gone very seriously wrong. If the extra part you need is
> > not in
> > >> the canonical header then adding this as a second patch seems like a
> > >> reasonable plan.
> > >>
> > >> I think you don't realize that qemu is built using the public headers
> > >> from the Xen build environment. So there is no way to resync with the
> > >> canonical header as this isn't part of the qemu tree.
> > >>
> > >
> > > Now I'm confused... you're posting a patch to hw/block/xen_blkif.h. That's
> > in the QEMU source, right? That's not a Xen public header but is a Linux
> > mangled variant of a Xen public header. So, actually, I guess the question is
> > why can't this header just go away and QEMU use the canonical header
> > directly from Xen?
> > 
> > No, hw/block/xen_blkif.h is based on the Linux header
> > drivers/block/xen-blkback/common.h which is an add-on header to the
> > canonical-based Linux header include/xen/interface/io/blkif.h
> >
> > >> The header in question is originating from the Linux one which is an
> > >> add-on of the canonical header containing the explicit 32- and 64-bit
> > >> variants of the xenbus protocol and the conversion routines between
> > >> those.
> > >>
> > >> It would be possible to add these parts to the canonical header, but
> > >> do we really want that?
> > >>
> > >
> > > No, we shouldn't be taking Linux brokenness into the canonical header.
> > 
> > Okay, so then back to the first approach using hw/block/xen_blkif.h as
> > today and adapting the style first and then doing the necessary code
> > correction?
> > 
> 
> I guess re-syncing with the Linux header as in your v2 patch is the least worst option then.

As the Linux header is by no means canonical or special, I prefer patch
#1 (with the indentation fixed).

If Juergen finds a way to make the appropriate changes to the canonical
header in Xen, afterwards we could consider re-importing it in QEMU. But
as it stands I am not going to ask him to do that in order to get a
simple patch like 1466071320-10964-1-git-send-email-jgross@suse.com into
QEMU.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

  parent reply	other threads:[~2016-06-17 16:10 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-17  9:14 [PATCH v2] xen: fix qdisk BLKIF_OP_DISCARD for 32/64 word size mix Juergen Gross
2016-06-17  9:26 ` Jan Beulich
     [not found] ` <5763DE5D02000078000F5FF8@suse.com>
2016-06-17  9:31   ` Juergen Gross
     [not found]   ` <5763C36E.4060002@suse.com>
2016-06-17  9:35     ` Paul Durrant
2016-06-17  9:41     ` Jan Beulich
     [not found] ` <5763DE5D02000078000F5FF8@prv-mh.provo.novell.com>
2016-06-17  9:37   ` Paul Durrant
     [not found]   ` <ed257f0803b040e9be43cc518fc83252@AMSPEX02CL03.citrite.net>
2016-06-17  9:45     ` Juergen Gross
     [not found]     ` <5763C6CA.4090705@suse.com>
2016-06-17  9:50       ` Paul Durrant
     [not found]       ` <e5a9691e4d08428683ecb12991410a9c@AMSPEX02CL03.citrite.net>
2016-06-17 10:08         ` Juergen Gross
     [not found]         ` <5763CC05.3030008@suse.com>
2016-06-17 10:15           ` Paul Durrant
2016-06-17 10:40             ` Juergen Gross
2016-06-17 10:53               ` Paul Durrant
     [not found]               ` <8b53bcd700444ee883e0450c51ca7cb9@AMSPEX02CL03.citrite.net>
2016-06-17 16:10                 ` Stefano Stabellini [this message]
2016-06-20  6:02                   ` Juergen Gross
     [not found]                   ` <57678703.4040408@suse.com>
2016-06-20  9:40                     ` Stefano Stabellini
2016-06-17 10:20           ` Jan Beulich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.DEB.2.10.1606171707300.18449@sstabellini-ThinkPad-X260 \
    --to=sstabellini@kernel.org \
    --cc=JBeulich@suse.com \
    --cc=Paul.Durrant@citrix.com \
    --cc=anthony.perard@citrix.com \
    --cc=jgross@suse.com \
    --cc=kraxel@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).