[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3 02/10] xen/version: Introduce non-truncating deterministically-signed XENVER_* subops


  • To: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
  • From: Jan Beulich <jbeulich@xxxxxxxx>
  • Date: Wed, 16 Aug 2023 08:39:00 +0200
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=N+Q26JWcz0Rxo8UrbTj4RCkkhHuPqyO2hFS38KTVuKU=; b=RSpebgNcYyZPiidR4FB0h1bKvQVGnVpxFvSQeFnL9OrOZHQ0sX4rZQE1bi/23DvhFlRG2jDpVFklpksqfVWxcoA7oAhAcgQCzFU59gK+lpwDeiOiDnZWnt4W1YVw7afb4y3J2VJiCuEwBcJ9GURLLbb5Ce8mPSZN+fb28qqVrpzs+MdEi8pyLYafXsdAT/vOb/Xm56qzyuD5vgUs7AMGWoOyhvXGO5avCHY4DYC86XjQEPH8q0E1/lNKohjvlOPrtUZfZPd2TmzbGDUiolFS7mM+nGYRvPdQGsJFs/auNIMco2SIVnpjd+4Y8xXsWjDxCzimgKReWwdlNShOD8drtQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fL6wx3I1u4gjfhqI8q8yrMgppOI7THoUh6H/YANcW0xsrM+/bUZd9rskQ7HFVZo2GufTIde/v6KK/bACSEl5tg7gWHucbOxlq2bEJUuRZJs3gga7oezS8khrGuffZtdbSip43FDuZTwboyyZgPBlX7euZFG4cP/tWLRJFtjQwKkWoKKkMrsPNlv48tRerf2dtd2MTzjwwBxierTMOUpgFcKjX1ZH/VYwtgETzS3HBh/P3ClIpgQbdI0z6MDYREFaVtqdjNWU9QBvIEBulbzsJg5Zu43EpnEczHkmHSZTZGBgg97U0h2sc2PA+X5Kdtt49t4DdLh89fCJ4pXIdTzoRw==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com;
  • Cc: Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Jason Andryuk <jandryuk@xxxxxxxxx>, George Dunlap <George.Dunlap@xxxxxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Julien Grall <julien@xxxxxxx>, Daniel De Graaf <dgdegra@xxxxxxxxxxxxx>, Daniel Smith <dpsmith@xxxxxxxxxxxxxxxxxxxx>, Henry Wang <Henry.Wang@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>
  • Delivery-date: Wed, 16 Aug 2023 06:39:13 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 16.08.2023 04:58, Andrew Cooper wrote:
> On 16/08/2023 1:19 am, Stefano Stabellini wrote:
>> On Tue, 15 Aug 2023, Andrew Cooper wrote:
>>> --- a/xen/include/public/version.h
>>> +++ b/xen/include/public/version.h
>>> @@ -19,12 +19,20 @@
>>>  /* arg == NULL; returns major:minor (16:16). */
>>>  #define XENVER_version      0
>>>  
>>> -/* arg == xen_extraversion_t. */
>>> +/*
>>> + * arg == xen_extraversion_t.
>>> + *
>>> + * This API/ABI is broken.  Use XENVER_extraversion2 where possible.
>> Like Jan and Julien I also don't like the word "broken" especially
>> without explanation of why it is broken next to it.
> 
> The word "broken" is an accurate and appropriate word in the English
> language to describe the situation.  I'm sorry you don't like it, but
> unless any of you can articulate why you think it is inappropriate
> phraseology, the complaint is unactionable.

That's simply not true. A wording change is very well possible, and
what you regard as "broken" may not be viewed as such by others. IOW
while "broken" may be "an accurate and appropriate word in the English
language to describe" your perspective of the situation, it may not be
for others. Take the extraversion case: It was clear from the
beginning that it means to limit what to use as XEN_EXTRAVERSION. No
bug, just a limitation. Similarly for the command line: Besides the
full command line (supposedly) being of use for informational purposes
only anyway (and the full one can be taken from the log), no-one could
ever predict at that time that we'd accumulate such a massive amount
of command line options. Again a limitation (and yes, I understand
that the information may disappear from the ring buffer, so "xl dmesg"
after the system was up for a while may not have that data anymore,
yet of course an agent in the system could make the boot messaged
persistent), but not really a bug.

> Specifically ...
> 
>> Instead, I would say:
>>
>> "XENVER_extraversion is deprecated. Please use XENVER_extraversion2."
> 
> ... depreciated is misleading.
> 
> It would be acceptable for a case where we'd introduced a foo2 to add a
> new feature to the interface, but we're being forced to make the new
> interface to fix two bugs and a mis-feature in existing interface.

See above. The existing interfaces are sufficient for the common case.
The extended versions therefore are an enhancement, allowing to call
the original ones deprecated, but not really anything more.

>> If you want to convey the message that the API has problems, then I would
>> say:
>>
>> "XENVER_extraversion might cause truncation. Please use 
>> XENVER_extraversion2."
>>
>> Or even:
>>
>> "XENVER_extraversion has problems. Please use XENVER_extraversion2."
> 
> If "broken" is too nondescript, then "might" is bad too and "has
> problems" is out of the question.
> 
> 
> There is a partial description of the ABI problems in the comment block
> beside the new ops.  I could be persuaded to extend it to be a full list
> of the ABI breakages.
> 
> These header files are a succinct technical reference for proficient
> programmers to interact with Xen.  They are not a tutorial on writing C,
> nor are they appropriate places to sentences of no useful value.
> 
> Through this series, I have done the hard work of updating the
> commonly-used interfaces such that downstreams can stop working around
> real problems caused by real errors in these APIs.

Or, as I view it, working around limitations of the original ABI. Hence
a new feature, not so much a bug fix.

I'm afraid the main reason why this series hasn't made it in yet is your
apparent unwillingness to accept that other people may look at things
differently than you do, resulting in you not being willing to make a
compromise on the chosen wording. While you may view this as others
blocking your work, I don't think it realistically can be called this
way.

Jan



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.