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

Re: hardware domain and control domain separation


  • To: Jan Beulich <jbeulich@xxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>
  • From: Jason Andryuk <jason.andryuk@xxxxxxx>
  • Date: Tue, 24 Jun 2025 16:14:08 -0400
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0)
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=6e6LxrDUk7QNpNs1K2g9YMcxMyKsWbi3PcOKroJCnoM=; b=oWgRIN+5B02xl05OPogbuzWCmEGF66aG8XE0BTDQUGh2kQpxw87GJ1MoaeoNUetMN168+rOpJ8iDm5n2cBZcxyDp2l4uFRGO4TpPwJUw/ED3GDWYce5R9WT4MJgglqhcvLXBjyGo1UM7G4Mzkm9Z3VUnOaFyTWcwFUrNwM2F2sCnBgy0PDP/KdcNZTOJDg3yDTLyoDduJNl81bcqdMQMMTXOWacSs6gpMD1pisaAjo+UZ/7js2A9M4pjI3Xx8q5DsilstZjJDZgzCjQQtdUuU3mr5nFnZWSAJMZGMVhYV4DM56GuM7PB6rMGacfUtqSLvnCFMhKPxU5p0kvbXrwJFQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=xWjOmclf/gU66jnvA462W+JyYV90BjkpwpND6VvnC/q1c9WLMHQFH/kYh+TgILoorbUHd/VC9u9NOb4zeLzGOJirLHQADSFhFvp5kkHR4ZZ3X9N1fcBflM8C7VcALC2d4H4C6WFzPCydV8pPoZRBmgRIELe2Qtya+T8mBVG0UlIQ2wTetpKCG2V/9DsKYS9oAkwX05VE1pU6jZvmHT3bBHCEOS+lndHy7QTFTMjxiUPxicZtULPYz1T/fgbrRUyEvjBDWE115MftJGAmgbYoKjrlmEULoimrq30PKr64bIEeLwCz9Exk57tl9+M9faGzyJgvu0vjM1GTWY94ZtX4kQ==
  • Cc: Julien Grall <julien@xxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, "Andrew Cooper" <andrew.cooper3@xxxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, <ayankuma@xxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxxx>, <demiobenour@xxxxxxxxx>
  • Delivery-date: Tue, 24 Jun 2025 20:14:30 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 2025-06-24 01:25, Jan Beulich wrote:
On 24.06.2025 00:51, Stefano Stabellini wrote:
On Mon, 23 Jun 2025, Demi Marie Obenour wrote:
On 6/23/25 11:44, Jan Beulich wrote:
On 21.06.2025 02:41, Stefano Stabellini wrote:
Also a more fundamental question I was wondering about: If Control had
full privilege, nothing else in the system ought to be able to interfere
with it. Yet then how does that domain communicate with the outside
world? It can't have PV or Virtio drivers after all. And even if its
sole communication channel was a UART, Hardware would likely be able to
interfere.

There are well-established methods for implementing domain-to-domain
communication that are free from interference, such as using carefully
defined rings on static shared memory. I believe one of these techniques
involves placing the indexes on separate pages and mapping them
read-only from one of the two domains.

How's that going to help with the backend refusing service, which I view
as one "method" of interference? Or else, what exactly does "interference"
mean in this context? (More generally, I think it is necessary to very
clearly define terminology used. Without such, words can easily mean
different things to different people.)

Yes, there are different kids of interference. We are concerned about a domain blocking another domain. The main example is an ioreq blocking a vCPU. The blocked domain is unable to recover on its own.

A PV backend not servicing a request is interference, but it doesn't block the frontend domain or vcpu. The primitives don't block, so drivers can be written to handle the lack of a response. As you note, this can't be a critical service for the domain.

Regards,
Jason



 


Rackspace

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