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

Re: [PATCH 6/8] mm/pdx: Standardize region validation wrt pdx compression


  • To: Julien Grall <julien@xxxxxxx>
  • From: Jan Beulich <jbeulich@xxxxxxxx>
  • Date: Tue, 25 Jul 2023 08:51:52 +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=n0RbcNAgsxwzQByZOv0WqToh+4jZlbpzHh/ceuBS+1o=; b=WcUePRVDBwQx/vbHaXpLsLwu0BpBgMu/TXSk/zCKHcegwHdirgvhO7aDUioe/ZGlEsxaky6AAUg7tQ1SWWYP7H740tCKCoUnyertn3trM537Ir0XacKO49/9hYTV8yWUUK2CNUf9/TdRKWm+GpgrrL2wsVxFGrJxofAhRHmhejIoNtjRik3jDQqPhCuVt9oHaYkG6Q2wCxyUMchyTxPAg2MxVbHU1KSjH2S3yn8qjscPrMxzIv9+rDo9ViO7GnKjhx1dGVv4LFqHSRr1WuaFHhYbkwh8pQPgDTP2UAeQDhoM7zuVuhkOVln6uE2d9+AnM1IC57Yb00NYniW3MsWkSg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jnSweCAiqTVQQWqj9zMPMEpdFt786AbIdMcFcrmSXjIArLFKCRLuwY7pdvdhjAXlfGHMYeGINf6Z7TBwB9BvcoZ93k2dhmy69F5DaTQkrfKJIgx4StHaOWywIBdj4kXb0nZ0W/qqS8p5J/tYL65NHoUS+fZJsJ39w2INAh9r8SnEj45okm5nTBW6SJXVeJ4USjclt0NOCynq7Gy6LT/dgmTbvol2g280dmOR63+YMTOK+RTIIINMqHJFl1XM4pz/k5EQsMvA366pbE9gP69y1rFqA1Gr4RmGN7TX3RyF41bAMk7fClvRDiJxw7FN6JzWf+e53GHKyfvOEZ2JddLtWw==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com;
  • Cc: Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Alejandro Vallejo <alejandro.vallejo@xxxxxxxxx>
  • Delivery-date: Tue, 25 Jul 2023 06:52:01 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 24.07.2023 20:20, Julien Grall wrote:
> On 24/07/2023 13:18, Alejandro Vallejo wrote:
>> On Fri, Jul 21, 2023 at 06:05:51PM +0100, Julien Grall wrote:
>>> Hi Alejandro,
>>>
>>> On 17/07/2023 17:03, Alejandro Vallejo wrote:
>>>> +bool pdx_is_region_compressible(unsigned long smfn, unsigned long emfn)
>>>
>>> For newer interface, I would rather prefer if we use start + size. It is
>>> easier to reason (you don't have to wonder whether 'emfn' is inclusive or
>>> not) and avoid issue in the case you are trying to handle a region right at
>>> the end of the address space as emfn would be 0 in the non-inclusive case
>>> (not much a concern for MFNs as the last one should be invalid, but it makes
>>> harder to reason).
>> I could agree on this, but every single caller is based on (smfn, emfn),
>> so it needlessly forces every caller to perform conversions where the
>> callee can do it just once.
> 
> That's indeed one way to see it. The problem is that...
> 
>> That said, I think your point makes sense and
>> it ought to be done. Probably as as part of a bigger refactor where
>> (smfn, emfn)-based functions are turned into (base, len) variants.
> 
> ... clean-up tends to be put in the back-burner and we just continue to 
> add new use. This makes the task to remove every use a lot more 
> difficult. So there is a point when one has to say no more.
> 
> Therefore, I would strongly prefer if each callers are doing the 
> computation. The rest can be removed leisurely.
> 
> Let see what the opinion of the other maintainers.

I think [a,b] ranges are fine to pass, and may even be preferable over
passing a size. I'm specifically using that term that you also used:
"size" (or "length") is ambiguous when talking about page granular
items - is it in bytes or number of pages? Especially in the former
case calculations at the call sites would be quite a bit more cumbersome.
I could agree with (mfn,nr) tuples, but as said I think inclusive
ranges are also fine to use (and would be less of a problem at the call
sites here, afaics).

Jan



 


Rackspace

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