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

Re: [PATCH 1/2] xen: add domid_to_domain() helper


  • To: Julien Grall <julien@xxxxxxx>
  • From: Jan Beulich <jbeulich@xxxxxxxx>
  • Date: Mon, 12 Sep 2022 10:42:08 +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=ynvVUh/G9AgcgTk3W2ENe33XBmw5Uw8BzR+mr2nmam4=; b=VwJd2JULQi+Z2iBt1iBysjBf6BfMTs6GddlG8rZhMNhsy8/EjY/WR1KjUlTYmowjjDjwLGmScL/XU269LBSlmrecI19kQU0NHApS0mSs/IlFZCOWtNpRnet9fY0uQjNv/uGJ5IZoF7ROKUAPPdYIQQt9RHa1xFYpMBErYgBDPw3/aQn2RfQX7796vUk82u8cARzc8t9HzKFh3g/B3xPBXiD58kp8htsRp2aWoMXPNvUVURr/OsSF8Vl312up3BPe+j5hopoavliw3ER41XB6omKulHSDuiCy/NN5GtwOl6gq3QDNf/nNfjpHEQEi2F3hou4jmPteCRcVB3kUlRg2Yw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mL4n/qRu/0KxO/7AfDh14pTQPWc3ubydazIP6MYfbYYmmuxVa3/io8ZTN+HnDPnTA2qZIE0r7qXAu1WFAaBM4fy7geUuIZkpHD09mmIcC9WU5dJMRksssFlkTOrUWGD4lH1iEJxz9ubzk0qM+wSEuNtTjhE0NiONOODoA/OprBLzRhSyGea7Zgdg5bRYO3rL5k554ujlU20N/B0r6j0fuLS6irf3YwRMJq22u5J5zLxpEUTUt2MMkbBi4FxJkSEP75+Co0GUPbbK/ALmciysEJbDii/Y2jUZqPqOn0rdEVNO3E6nrxOW/2w/ULjNhg1qmBGBDb1ZO2WA5cfBFz6K+w==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com;
  • Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx, Juergen Gross <jgross@xxxxxxxx>
  • Delivery-date: Mon, 12 Sep 2022 08:42:20 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 12.09.2022 10:36, Julien Grall wrote:
> On 12/09/2022 09:33, Juergen Gross wrote:
>> On 12.09.22 10:31, Jan Beulich wrote:
>>> On 12.09.2022 10:23, Juergen Gross wrote:
>>>> On 12.09.22 10:19, Jan Beulich wrote:
>>>>> On 12.09.2022 07:53, Juergen Gross wrote:
>>>>>> Add a helper domid_to_domain() returning the struct domain pointer for
>>>>>> a domain give by its domid and which is known not being able to be
>>>>>> released (its reference count isn't incremented and no 
>>>>>> rcu_lock_domain()
>>>>>> is called for it).
>>>>>>
>>>>>> In order to simplify coding add an internal helper for doing the 
>>>>>> lookup
>>>>>> and call that from the new function and similar functions.
>>>>>>
>>>>>> Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
>>>>>
>>>>> I don't see an issue with adding such a helper (responding to your 
>>>>> concern
>>>>> in the cover letter), but I think the constraints need to be empahsized
>>>>> more: We already have get_knownalive_domain() and 
>>>>> get_domain_by_id(), so
>>>>> how about naming the new helper get_knownalive_domain_by_id()? And 
>>>>> then ...
>>>>
>>>> I explicitly didn't name it "get_...", as those helpers all increment 
>>>> the
>>>> reference count of the domain. And this is NOT done by the new helper.
>>>
>>> Hmm, agreed. But domid_to_domain() isn't expressing the "known alive" 
>>> aspect,
>>> yet that's relevant to see when reviewing new uses of the function. 
>>> Such uses
>>> aren't likely to make the reviewer go look at the function declaration 
>>> when
>>> the function name is pretty "innocent".
>>
>> Okay, what about domid_to_knownalive_domain()?
>>
>> Or knownalive_domain_from_domid()?
> 
> FWIW, I am fine with either. However, please don't replace 'to' with '2' 
> if you need a internal helper. Just suffixed with 'locked' to make clear 
> this is a version where the caller should take the lock.

Hmm - personally I dislike "_locked" suffixes on functions. If the
"internal helper" aspect is to be made more explicit, then perhaps
by way of prefixing a single underscore?

Jan



 


Rackspace

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