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

Re: [PATCH] ioreq_broadcast(): accept partial broadcast success


  • To: Roger Pau Monné <roger.pau@xxxxxxxxxx>
  • From: Jan Beulich <jbeulich@xxxxxxxx>
  • Date: Mon, 28 Nov 2022 13:26:03 +0100
  • 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=vlZuMzQLGditnpPksVUQOp27+Utz9sSvY1bMDqLL+dc=; b=kzuvL9wLcZXwhnVed3iYt2rciFdGmiEu0uOEWf9FgRNFV50HVaEhsudPz0kMjbORfEJr//3HbCbp1UQv5/a5qQ1nL0NxmSfP26AYUAIWl6zBpWW2EvD/4ZM1P2TfWTAVW1quggoFTHlg+vlw2L20Gl2AV0Jy4z35G+uGDVRBhZtQp70TgHwmvCENT1vOMLR2YHe7nNa/BV5O0A4HVjnqBs5H3lTX1N1vBQu5CAJqWG2ltmgk5Ny4Ix+MD7E0TEA7Y80fMa2F+mq9ImnYMYpK9F5D1fsUTtM2bUU98bIMLqhLSlvRU0wmVLqWArYpVAvyBUGrNw2XVMp2N4u7OZ8TJA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IumXXaJuvLPJz7iC47EfVr8769kEj2bx1wEFiz85znb3hJnyKk/aIYjQEsRq9ql4txlcLZj0ndw2+n+zbuluGy0ZEuoOcQCmozdgMUjYDRXhFBg1iyKbD7cd8chWylLoWD+TBtHN8a1XskB5q+jS6jSCZ+a8GhgXkpz9O/6aQ2yxSX89wJg2bzLUI2i/Z7OTtHZFrtDQuZ4AmzTnIx5tEjLr88+6Cxu05bDe7JwekaEQxzZCAby7lTVsXQdD1weMb/GEDiUK3zx0FT9Jtz7/nXYvsLMH5zls/BQ/AdPG1enDctTpJ3DcbShh6HoxwNz+vMOGmAMbIbS9aKouTTkPVw==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com;
  • Cc: Per Bilse <per.bilse@xxxxxxxxxx>, Paul Durrant <paul@xxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Julien Grall <julien@xxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx
  • Delivery-date: Mon, 28 Nov 2022 12:26:27 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 28.11.2022 12:06, Roger Pau Monné wrote:
> On Mon, Nov 28, 2022 at 09:21:47AM +0100, Jan Beulich wrote:
>> On 26.11.2022 23:19, Julien Grall wrote:
>>> On 25/11/2022 14:15, Per Bilse wrote:
>>>> This patch modifies ioreq_broadcast() to allow partial success.
>>>
>>> The commit message is quite vague, so it is hard to know what you are 
>>> trying to solve exactly. AFAIU, there are two reasons for 
>>> ioreq_broadcast to fails:
>>>   1) The IOREQ server didn't register the bufioreq
>>>   2) The IOREQ buffer page is full
>>>
>>> While I would agree that the error message is not necessary for 1) (the 
>>> IOREQ server doesn't care about the event), I would disagree for 2) 
>>> because it would indicate something went horribly wrong in the IOREQ 
>>> server and there is a chance your domain may misbehave afterwards.
>>
>> In addition I think ignoring failure (and, as said by Julien, only because
>> of no bufioreq being registered) is (kind of implicitly) valid only for
>> buffered requests. Hence I'm unconvinced of the need of a new boolean
>> function parameter. Instead I think we need a new IOREQ_STATUS_... value
>> representing the "not registered" case. And that could then be used by
>> ioreq_broadcast() to skip incrementing of "failed".
> 
> So introduce an IOREQ_STATUS_UNREGISTERED return code and don't
> increase failed if buffered == true and UNREGISTERED is returned,
> would that be acceptable?

Yes afaic, but Paul is the maintainer of this code. And of course the
new error indicator shouldn't surprise any existing callers.

Jan



 


Rackspace

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