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

Re: Design session PVH dom0


  • To: Juergen Gross <jgross@xxxxxxxx>
  • From: Jan Beulich <jbeulich@xxxxxxxx>
  • Date: Mon, 26 Sep 2022 17:52:34 +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=V4Q5j4CgqRlyXplvwGKGlv+opU2Bw+QbT6FnbH3OG+I=; b=EixAqlbGbHS2x2f1j5MbiYBoxHAmN6cicD6qyZ9tB2LrDps1zYXGdU82j7VGe1VFHv+mD3UxqtagpwZ1CjW7W65qva/DPOLY3/JzTdDi7VupOxd2Z5WSP+lISnFIKftVW1Hsoofd7ZD+UOoK/qiFfNy83aY2sfnUaOnt5F37+JrvJZblLBueU59LcgqiVySSD6oMSYY632uzy0CrRzd6GwwFsSZlvIA3OpPZPErKGB1+0qSnVmyEhxPm6YDalmkUuiHkAicwFFsGADm/3LgjrZYJgzQrRi2sd58wI1HypkEUovflBdaS/gxjjPlyAlCm6FYFbCRTeEasTZpjTnDzRQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=c9Nx7g1UpWeVsmV7CQtjtGpr58dbWKfk+StEu8ZCkYHzGP+R4EdJZwW/1VgTJn0+p72PLnwTm3TfmYmNfalq9OSdLIfiN1Td85OGfdxSyWFIVfMA6BYU/8mqKgWcgOjDnI3Xr647Y1UTeJM6Tg0FSHxwGnYw64eRZd8XxqlKiKauIdlcYGF0WzWIPUfbCuIwvkLQEE4dWaDnFAluRmo2F6xrdaXnTOLkqPpsYMTdIdcIA0DX5+3o0rtGpBRrpD+bvu+D6An2PgbqaK+/LpwUKHTDdDr8LaWsDCXeegDQ1sE88cZ+6ExmhOFFaaCokYjreEu0CNCbCvulH34e1pc6bQ==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com;
  • Cc: Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx>, xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Mon, 26 Sep 2022 15:52:45 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 26.09.2022 10:33, Juergen Gross wrote:
> On 26.09.22 09:53, Jan Beulich wrote:
>> On 23.09.2022 10:20, Juergen Gross wrote:
>>> My favorite solution would be some kind of buffer address qualifier for each
>>> buffer (e.g. virtual, physical, SG-list, maybe nested SG-list). So the new
>>> hypercalls would not mean "physical buffer addresses", but "qualified buffer
>>> addresses". By requiring a minimum of 4-byte alignment for each buffer (can 
>>> we
>>> do that, at least for the new hypercalls?) this would leave the 2 lowest 
>>> bits
>>> of a buffer address for the new qualifier. If by any means an unaligned 
>>> buffer
>>> is needed sometimes, it could still be achieved via a single-entry SG-list.
>>
>> While this might be an option, I'm not sure I'd be really happy with such
>> re-use of the low address bits, nor with the implied further restriction
>> on buffer alignment (most struct-s we use are 4-byte aligned at least,
>> but I don't think it's all of them, plus we also have guest handles to
>> e.g. arrays of char).
> 
> The unaligned cases could be handled dynamically via the single-entry
> SG-list.

Can they? The first example you gave, the bitmap passed to collect the
output of XEN_DOMCTL_SHADOW_OP_{CLEAN,PEEK}, comes as a handle-of-uint8,
i.e. generally large but not necessarily aligned (even if in practice
the caller likely will pass a page aligned buffer of multiple pages in
size). If we introduced physical-address bases replacement sub-ops, I
think we would make the buffer described by an array of GFNs, not even
allowing sub-page alignment or size.

Jan



 


Rackspace

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