On 11.03.2025 16:42, Roger Pau Monné wrote:
> On Tue, Mar 11, 2025 at 02:53:04PM +0000, Alejandro Vallejo wrote:
>> On Tue Mar 11, 2025 at 12:46 PM GMT, Roger Pau Monné wrote:
>>> On Tue, Mar 04, 2025 at 11:10:00AM +0000, Alejandro Vallejo wrote:
>>>> The logic has too many levels of indirection and it's very hard to
>>>> understand it its current form. Split it between the corner case where
>>>> the adjustment is bigger than the current claim and the rest to avoid 5
>>>> auxiliary variables.
>>>>
>>>> Add a functional change to prevent negative adjustments from
>>>> re-increasing the claim. This has the nice side effect of avoiding
>>>> taking the heap lock here on every free.
>>>>
>>>> While at it, fix incorrect field name in nearby comment.
>>>>
>>>> Signed-off-by: Alejandro Vallejo <alejandro.vall...@cloud.com>
>>>
>>> Acked-by: Roger Pau Monné <roger....@citrix.com>
>>
>> Thanks.
>>
>>> I think it would be nice to also ensure that once the domain is
>>> finished building (maybe when it's unpaused for the first
>>> time?) d->outstanding_pages is set to 0.  IMO the claim system was
>>> designed to avoid races during domain building, and shouldn't be used
>>> once the domain is already running.
>>>
>>> Thanks, Roger.
>>
>> As a matter of implementation that's already the case by toolstack being 
>> "nice"
>> and unconditionally clearing claims after populating the physmap.
> 
> I see.  Another option would be to refuse the unpause a domain if it
> still has pending claims.  However I don't know how that will work out
> with all possible toolstacks.
> 
>> However, I agree the hypervisor should do it on its own. I didn't find a
>> suitable place for it. 
> 
> You could do it in arch_domain_creation_finished().

Except that better wouldn't be arch-specific.

Jan

Reply via email to