xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: "Jan Beulich" <jbeulich@suse.com>
To: george.dunlap@citrix.com
Cc: wei.liu2@citrix.com, stefano.stabellini@eu.citrix.com,
	andrew.cooper3@citrix.com, Ian.Jackson@eu.citrix.com,
	mpohlack@amazon.de, ross.lagerwall@citrix.com,
	julien.grall@arm.com, stefano.stabellini@citrix.com,
	sasha.levin@oracle.com, xen-devel@lists.xenproject.org,
	dgdegra@tycho.nsa.gov, keir@xen.org
Subject: Re: REST MAINTAINERS feedback requested Was:Re: [PATCH v5 01/28] HYPERCALL_version_op. New hypercall mirroring XENVER_ but sane.
Date: Sun, 17 Apr 2016 01:52:08 -0600	[thread overview]
Message-ID: <57134EB802000078000E6A28@prv-mh.provo.novell.com> (raw)
In-Reply-To: <CAFLBxZaxVay94EW+33j7d-qZCb9S1WzZry=XLzsJ2fE1o51EGg@mail.gmail.com>

>>> George Dunlap <george.dunlap@citrix.com> 04/15/16 1:23 PM >>>
>On Thu, Apr 14, 2016 at 6:01 PM, Jan Beulich <jbeulich@suse.com> wrote:
>>>Sure, mistakes happen; but I hope it's not being to controversial to
>>>say that in general, the procedure should be arranged such that the
>>>person who makes the mistake is the one who has to do deal with the
>>>most consequences from the mistake, not the people around him.  I
>>>mean, if you asked a bartender for a bottle of beer, and after he'd
>>>already opened it you said, "Oh sorry, I actually wanted a cider", it
>>>would be fair enough for the bartender to ask you to pay for the beer,
>>>rather than eating it*, wouldn't it? :-)
>>
>> Sure. And I think that's what I've done.

To be fair, I think this was too broad a statement: I had indeed asked Konrad
to collect the replacement ack. Yet on second thought I really can't see
what's wrong with withdraing an ack - just like a patch can be withdrawn, that
should be possible for an ack too. And if the patch has already gone in, no
matter whether the patch itself or the ack got withdrawn, the patch imo should
then be reverted. I agree that's not something spelled out anywhere, so my
opinion here is based on solely general considerations of mine.

>When Konrad asked for further input on the patch and then didn't get
>any in a few days, you responded, "It looks like it will have to be
>reverted then." As I've said, I think that's the wrong way round --
>it's not that the commit is reverted unless someone else acks it; it's
>that the commit stays unless someone acks your reversion.  If you had
>posted a patch (probably RFC) requesting to revert the change in favor
>of a different one, then it would have been more obvious that the
>burden was on you to get the reversion Acked, rather than on Konrad to
>get the existing commit re-acked.

I agree on the process aspect (albeit among the few cases where things
needed reverting, I think there was a non-negligible amount of such where
the revert was requested quite informally), but that's relatively moot with me
not agreeing on the premises it builds upon.

>>>Well Ian and I have already given our opinions -- Ian thinks moving to
>>>a clean interface and deprecating the old one is in general a good
>>>thing, and doesn't look too painful in this case.  I don't really see
>>>a problem with using a large fixed size, but I don't fundamentally see
>>>a problem with moving to a new clean interface either.  Given that
>>>Andy has a strong aversion to the way things are, if you had only a
>>>mild distaste rather than a  strong objection to the new hypercall, it
>>>would probably make sense to go with the new hypercall.
>>>
>>>If you do have a strong objection, then maybe we could try to convince
>>>Andy to accept adding subops with different calling semantics to the
>>>existing hypercall.  But I would still think the burden of persuasion
>>>is primarily on you.
>>
>>  I do not have a strong objection, or else I would have converted my ack
>> into a nak instead of just withdrawing it. I just dislike the duplication, and
>> hence I'm not happy with me now being the one having approved it to go
>> in. Hence the request for a replacement ack (or whatever else referee
>> decision).
>
>Well this makes it sound like you're saying that you were asking us to
>save you from having to appear to have approved of a patch that you
>didn't like.  Which doesn't sound very nice. :-)

I'm sorry if it's being understood that way. My intention really was to avoid
the revert in case a replacement ack can be obtained. Otherwise, following
my way of thinking outlined above, the patch should have been reverted
right away. Yet I seem to be the only one here thinking this way...

>But I wonder if something slightly different is going on.  Forgive me
>for trying to guess at motivations here, but I think it may be
>helpful.  I'm often in the situation where my gut objects to a patch
>that other coders I respect think is fine; and often a few years down
>the road, I look back and agree that it's fine as well.  In other
>words, I know that sometimes my own objections turn out to be
>unreasonable; and that in any case, working with other people you
>sometimes have to compromise.  But on the other hand, I've also had
>the experience of giving in and accepting patches that later I regret,
>or that other people come back and say, "This was a terrible idea, you
>should have stood up for it more."
>
>So in the moment -- particularly, as you say, under time pressure --
>how do you determine if objecting to the patch is being unreasonable
>and obstructive, or if assenting to the patch is failing your duty as
>a maintainer to prevent bad code, and is a decision you'll regret
>later?
>
>Was it perhaps actually the case that your internal reasoning was
>along the lines of, "Actually, adding a new hypercall seems like a bad
>idea.  But since Andrew strongly disagrees, maybe I'm being
>unreasonable.  Or, maybe it really is a bad idea and he's being
>unreasonable.  Why don't I ask the REST maintainers to look at it; if
>they Ack it, then I'm probably being too conservative; if they don't,
>then I'm probably justified in objecting to it"?

Well, not really. My main problem here (and not just here) is that often
I end up reviewing patches for being done correctly, but ignore the question
of "Do we need this in the first place?" This has happened to me more
often earlier on, but it continues to happen from time to time, like on this
occasion.

>If so, we should probably find a better way for maintainers to ask for
>additional feedback in those situations. :-)  I'd certainly appreciate
>that at times.

Well, the main problem I'm seeing here that the current set of REST
maintainers makes it very hard to get _any_ kind of feedback without
explicitly asking and pinging for it. I sincerely hope that this will change
with the pending committership and maintainership adjustments. My
general understanding here is that it shouldn't be really necessary to
explicitly ask for a second opinion - after all maintainers get Cc-ed on
patches for the reason of seeking their input. And the question of
replacing an existing public interface with a slightly different new one,
even more so with no obvious route of deprecating the old one, is
something that any one of the REST maintainers should really have
an opinion on imo.

>If that's not the case, and you genuinely only have a mild dislike for
>the hypercall, then there are a couple of things to say about that.
>The first is that given the circumstances, it seems to me that giving
>the Ack was not only reasonable, but the right thing to do.  An Ack
>doesn't mean, "I think this is a good idea", but it means "Given all
>considerations, I think this should be in the tree."  And given that
>Andrew had strong objections to the other solutions, and you only had
>a distaste for this one, this is obviously the solution to choose.
>Acking a patch on the basis that you don't really like it but it's the
>best compromise with the other maintainers is perfectly reasonable.

Taking a strictly formal perspective, there was no disagreement between
maintainers, since I've been the only one of those currently named under
REST involved in the discussion. Which is part of the problem, as said
above. And Andrew's strong objection was, in my view, based on not very
convincing arguments. Hence I couldn't really see myself making a
reasonable compromise here.

>Secondly,  I can certainly see that you might be a bit embarrased
>about having your name on a patch you dislike, but... well, you did in
>fact approve it going in. :-)  Maybe that was because you were in
>haste, and you regret it, but that's an accurate record of what
>happened.  Stand up and take responsibility for your actions. :-)

Which is why - see above - I didn't revert it right away.

>> And btw., considering that Konrad has already posted a revert patch,
>> and I have ack-ed that one, this could now go in right away (and the
>> discussion could either be settled or start over).
>
>Yes, unless someone objects to that patch then we have a clear way
>forward, and we're just discussing principles for future reference at
>this point.

Agreed. As said in reply to Ian - perhaps worth taking some time at the
hackathon.

Jan


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

  reply	other threads:[~2016-04-17  7:52 UTC|newest]

Thread overview: 190+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-24 20:00 [PATCH v5] xSplice v1 design and implementation Konrad Rzeszutek Wilk
2016-03-24 20:00 ` [PATCH v5 01/28] HYPERCALL_version_op. New hypercall mirroring XENVER_ but sane Konrad Rzeszutek Wilk
2016-03-24 20:22   ` Andrew Cooper
2016-03-24 21:07     ` Konrad Rzeszutek Wilk
2016-03-24 21:30       ` Konrad Rzeszutek Wilk
2016-03-30 15:43         ` Jan Beulich
2016-03-31  6:30           ` Jan Beulich
2016-03-31 11:43             ` Konrad Rzeszutek Wilk
2016-03-31 12:07               ` Jan Beulich
2016-03-31 13:28                 ` REST MAINTAINERS feedback requested Was:Re: " Konrad Rzeszutek Wilk
2016-03-31 13:50                   ` Jan Beulich
2016-04-08 16:33                   ` Jan Beulich
2016-04-08 17:09                     ` Konrad Rzeszutek Wilk
2016-04-08 17:13                       ` Jan Beulich
2016-04-08 17:21                         ` Wei Liu
2016-04-08 17:23                           ` Konrad Rzeszutek Wilk
2016-04-08 17:27                             ` Wei Liu
2016-04-08 17:21                       ` Ian Jackson
2016-04-08 17:41                         ` Andrew Cooper
2016-04-08 17:54                           ` Jan Beulich
2016-04-11 10:50                             ` Ian Jackson
2016-04-11 13:56                               ` Konrad Rzeszutek Wilk
2016-04-11 14:22                                 ` Ian Jackson
2016-04-11 15:48                                   ` Jan Beulich
2016-04-11 16:25                                     ` Ian Jackson
2016-04-11 16:53                                       ` Konrad Rzeszutek Wilk
2016-04-11 17:06                                         ` Jan Beulich
2016-04-11 17:00                                       ` Jan Beulich
2016-04-11 17:13                                         ` Ian Jackson
2016-04-11 17:34                                           ` Jan Beulich
2016-04-11 17:46                                           ` Jan Beulich
2016-04-12  9:58                                             ` George Dunlap
2016-04-12 13:56                                               ` Konrad Rzeszutek Wilk
2016-04-12 14:38                                                 ` George Dunlap
2016-04-12 15:00                                                   ` Konrad Rzeszutek Wilk
2016-04-12 15:26                                                   ` Ian Jackson
2016-04-13  4:21                                                     ` Jan Beulich
2016-04-13 16:07                                                       ` Ian Jackson
2016-04-14 15:13                                                         ` George Dunlap
2016-04-14 15:59                                                           ` Jan Beulich
2016-04-14 16:19                                                             ` George Dunlap
2016-04-14 17:01                                                               ` Jan Beulich
2016-04-14 18:11                                                                 ` REST MAINTAINERS feedback requested Was:Re: [PATCH v5 01/28] HYPERCALL_version_op. New hypercall mirroring XENVER_ but sane. [and 1 more messages] Ian Jackson
2016-04-14 19:22                                                                   ` Konrad Rzeszutek Wilk
2016-04-17  7:23                                                                   ` Jan Beulich
2016-04-15 11:23                                                                 ` REST MAINTAINERS feedback requested Was:Re: [PATCH v5 01/28] HYPERCALL_version_op. New hypercall mirroring XENVER_ but sane George Dunlap
2016-04-17  7:52                                                                   ` Jan Beulich [this message]
2016-04-12 15:31                                                   ` Jan Beulich
2016-04-12 15:17                                               ` Jan Beulich
2016-04-12 15:28                                                 ` Konrad Rzeszutek Wilk
2016-04-08 17:24             ` George Dunlap
2016-04-08 17:34               ` Jan Beulich
2016-03-24 20:00 ` [PATCH v5 02/28] libxc/libxl/python/xenstat/ocaml: Use new XEN_VERSION hypercall Konrad Rzeszutek Wilk
2016-03-24 21:24   ` Wei Liu
2016-03-25 13:21     ` Konrad Rzeszutek Wilk
2016-03-24 20:00 ` [PATCH v5 03/28] arm/x86: Use struct virtual_region to do bug, symbol, and (x86) exception tables lookup Konrad Rzeszutek Wilk
2016-03-30 16:09   ` Jan Beulich
2016-03-24 20:00 ` [PATCH v5 04/28] vmap: Add vmalloc_cb and vfree_cb Konrad Rzeszutek Wilk
2016-03-30 16:24   ` Jan Beulich
2016-03-30 16:44     ` Konrad Rzeszutek Wilk
2016-03-31  6:46       ` Jan Beulich
2016-03-31 11:49         ` Konrad Rzeszutek Wilk
2016-03-24 20:00 ` [PATCH v5 05/28] xsplice: Design document Konrad Rzeszutek Wilk
2016-03-29  9:36   ` Jan Beulich
2016-03-29 20:46     ` Konrad Rzeszutek Wilk
2016-03-24 20:00 ` [PATCH v5 06/28] xen/xsplice: Hypervisor implementation of XEN_XSPLICE_op Konrad Rzeszutek Wilk
2016-03-31  9:45   ` Jan Beulich
2016-03-24 20:00 ` [PATCH v5 07/28] libxc: Implementation of XEN_XSPLICE_op in libxc Konrad Rzeszutek Wilk
2016-03-24 20:00 ` [PATCH v5 08/28] xen-xsplice: Tool to manipulate xsplice payloads Konrad Rzeszutek Wilk
2016-03-24 20:00 ` [PATCH v5 09/28] xsplice: Add helper elf routines Konrad Rzeszutek Wilk
2016-03-31 12:03   ` Jan Beulich
2016-04-06  1:38     ` Konrad Rzeszutek Wilk
2016-04-07  0:38       ` Jan Beulich
2016-03-24 20:00 ` [PATCH v5 10/28] xsplice: Implement payload loading Konrad Rzeszutek Wilk
2016-03-31 13:45   ` Jan Beulich
2016-03-31 21:26     ` Konrad Rzeszutek Wilk
2016-04-01  9:18       ` Jan Beulich
2016-04-04 19:44         ` Konrad Rzeszutek Wilk
2016-04-05  1:57           ` Konrad Rzeszutek Wilk
2016-04-05  7:34           ` Jan Beulich
2016-04-05 15:50             ` Konrad Rzeszutek Wilk
2016-04-05 16:15               ` Jan Beulich
2016-04-05 16:45                 ` Konrad Rzeszutek Wilk
2016-04-05 17:48                   ` Konrad Rzeszutek Wilk
2016-04-07  0:49                     ` Jan Beulich
2016-04-07  0:46                   ` Jan Beulich
2016-03-24 20:00 ` [PATCH v5 11/28] xsplice: Implement support for applying/reverting/replacing patches Konrad Rzeszutek Wilk
2016-04-01 13:28   ` Jan Beulich
2016-04-01 21:04     ` Konrad Rzeszutek Wilk
2016-04-04  7:07       ` Jan Beulich
2016-04-07  3:05         ` Konrad Rzeszutek Wilk
2016-04-07 15:38           ` Jan Beulich
2016-04-09 14:42             ` Konrad Rzeszutek Wilk
2016-04-11 15:38               ` Jan Beulich
2016-04-07  3:09     ` Konrad Rzeszutek Wilk
2016-04-07 15:43       ` Jan Beulich
2016-04-10  2:36         ` Konrad Rzeszutek Wilk
2016-04-10  2:45           ` Konrad Rzeszutek Wilk
2016-04-11 15:41             ` Jan Beulich
2016-04-11 23:29               ` Konrad Rzeszutek Wilk
2016-04-10 19:47           ` Is: ARM maintainers advice ..Was:Re: " Konrad Rzeszutek Wilk
2016-04-10 20:58             ` Stefano Stabellini
2016-04-11 15:44             ` Jan Beulich
2016-04-11 15:50               ` Konrad Rzeszutek Wilk
2016-04-11 16:05                 ` Jan Beulich
2016-03-24 20:00 ` [PATCH v5 12/28] x86/xen_hello_world.xsplice: Test payload for patching 'xen_extra_version' Konrad Rzeszutek Wilk
2016-04-01 13:33   ` Jan Beulich
2016-04-06  2:03     ` Konrad Rzeszutek Wilk
2016-04-07  1:03       ` Jan Beulich
2016-03-24 20:00 ` [PATCH v5 13/28] xsplice, symbols: Implement symbol name resolution on address Konrad Rzeszutek Wilk
2016-04-01 15:11   ` Jan Beulich
2016-04-07  3:14     ` Konrad Rzeszutek Wilk
2016-04-07 15:46       ` Jan Beulich
2016-04-08  1:32         ` Konrad Rzeszutek Wilk
2016-04-08 15:21           ` Jan Beulich
2016-04-08 15:27             ` Konrad Rzeszutek Wilk
2016-04-08 15:29               ` Jan Beulich
     [not found]     ` <5707D68A.8090006@citrix.com>
     [not found]       ` <5707FA8B02000078000E6178@prv-mh.provo.novell.com>
2016-04-11  8:07         ` Ross Lagerwall
2016-03-24 20:00 ` [PATCH v5 14/28] x86, xsplice: Print payload's symbol name and payload name in backtraces Konrad Rzeszutek Wilk
2016-04-01 15:23   ` Jan Beulich
2016-04-06  2:39     ` Konrad Rzeszutek Wilk
2016-04-07  1:07       ` Jan Beulich
2016-03-24 20:00 ` [PATCH v5 15/28] xsplice: Add .xsplice.hooks functions and test-case Konrad Rzeszutek Wilk
2016-04-01 15:50   ` Jan Beulich
2016-04-06  2:42     ` Konrad Rzeszutek Wilk
2016-04-06  6:39       ` Martin Pohlack
2016-04-07  1:15         ` Jan Beulich
2016-04-08 15:57           ` Ross Lagerwall
2016-04-08 17:39             ` Jan Beulich
2016-04-11  8:23               ` Ross Lagerwall
2016-04-22 13:33                 ` Jan Beulich
2016-04-22 13:58                 ` Jan Beulich
2016-04-22 17:32                   ` Konrad Rzeszutek Wilk
2016-04-07  1:11       ` Jan Beulich
2016-03-24 20:00 ` [PATCH v5 16/28] xsplice: Add support for bug frames Konrad Rzeszutek Wilk
2016-04-01 16:00   ` Jan Beulich
2016-03-24 20:00 ` [PATCH v5 17/28] xsplice: Add support for exception tables Konrad Rzeszutek Wilk
2016-04-01 16:06   ` Jan Beulich
2016-04-06 14:41     ` Konrad Rzeszutek Wilk
2016-04-06 15:32       ` Andrew Cooper
2016-04-07  1:21       ` Jan Beulich
2016-03-24 20:00 ` [PATCH v5 18/28] xsplice: Add support for alternatives Konrad Rzeszutek Wilk
2016-04-01 16:20   ` Jan Beulich
2016-04-07  3:11     ` Konrad Rzeszutek Wilk
2016-03-24 20:00 ` [PATCH v5 19/28] build_id: Provide ld-embedded build-ids Konrad Rzeszutek Wilk
2016-04-04 12:46   ` Jan Beulich
2016-04-07  2:58     ` Konrad Rzeszutek Wilk
2016-04-08 15:49       ` Ross Lagerwall
2016-04-08 18:47         ` Konrad Rzeszutek Wilk
2016-04-08 18:54           ` Andrew Cooper
2016-04-08 19:54           ` Jan Beulich
2016-04-08  0:18     ` Konrad Rzeszutek Wilk
2016-04-08  1:52       ` Konrad Rzeszutek Wilk
2016-04-08 15:27         ` Jan Beulich
2016-04-08 17:06           ` Konrad Rzeszutek Wilk
2016-04-08 17:44             ` Jan Beulich
2016-04-08 19:23               ` Konrad Rzeszutek Wilk
2016-04-08 19:39                 ` Konrad Rzeszutek Wilk
2016-04-08 20:14                 ` Jan Beulich
2016-04-08 20:50                   ` Konrad Rzeszutek Wilk
2016-04-08 21:11                     ` Jan Beulich
2016-04-08 21:15                       ` Konrad Rzeszutek Wilk
2016-04-08 15:25       ` Jan Beulich
2016-03-24 20:00 ` [PATCH v5 20/28] HYPERCALL_version_op: Add VERSION_build_id to retrieve build-id Konrad Rzeszutek Wilk
2016-03-25 16:26   ` Daniel De Graaf
2016-04-04 13:35   ` Jan Beulich
2016-03-24 20:00 ` [PATCH v5 21/28] libxl: info: Display build_id of the hypervisor using XEN_VERSION_build_id Konrad Rzeszutek Wilk
2016-03-25 13:25   ` Konrad Rzeszutek Wilk
2016-03-25 15:27     ` Wei Liu
2016-03-24 20:00 ` [PATCH v5 22/28] xsplice: Print build_id in keyhandler and on bootup Konrad Rzeszutek Wilk
2016-04-04 13:38   ` Jan Beulich
2016-03-24 20:00 ` [PATCH v5 23/28] xsplice: Stacking build-id dependency checking Konrad Rzeszutek Wilk
2016-04-04 15:00   ` Jan Beulich
2016-04-04 20:01     ` Konrad Rzeszutek Wilk
2016-04-05  7:43       ` Jan Beulich
2016-04-08 16:15       ` Ross Lagerwall
2016-04-08 17:47         ` Jan Beulich
2016-04-06 20:05     ` Konrad Rzeszutek Wilk
2016-04-07  1:24       ` Jan Beulich
2016-03-24 20:00 ` [PATCH v5 24/28] xsplice/xen_replace_world: Test-case for XSPLICE_ACTION_REPLACE Konrad Rzeszutek Wilk
2016-03-24 20:00 ` [PATCH v5 25/28] xsplice: Print dependency and payloads build_id in the keyhandler Konrad Rzeszutek Wilk
2016-04-04 15:03   ` Jan Beulich
2016-03-24 20:00 ` [PATCH v5 26/28] xsplice: Prevent duplicate payloads from being loaded Konrad Rzeszutek Wilk
2016-04-04 15:06   ` Jan Beulich
2016-04-04 19:52     ` Konrad Rzeszutek Wilk
2016-03-24 20:00 ` [PATCH v5 27/28] xsplice: Add support for shadow variables Konrad Rzeszutek Wilk
2016-04-04 15:18   ` Jan Beulich
2016-04-06  2:26     ` Konrad Rzeszutek Wilk
2016-04-08 15:58       ` Ross Lagerwall
2016-03-24 20:00 ` [PATCH v5 28/28] MAINTAINERS/xsplice: Add myself and Ross as the maintainers Konrad Rzeszutek Wilk

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=57134EB802000078000E6A28@prv-mh.provo.novell.com \
    --to=jbeulich@suse.com \
    --cc=Ian.Jackson@eu.citrix.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=dgdegra@tycho.nsa.gov \
    --cc=george.dunlap@citrix.com \
    --cc=julien.grall@arm.com \
    --cc=keir@xen.org \
    --cc=mpohlack@amazon.de \
    --cc=ross.lagerwall@citrix.com \
    --cc=sasha.levin@oracle.com \
    --cc=stefano.stabellini@citrix.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=wei.liu2@citrix.com \
    --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).