[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v5 32/50] multi-process: Use separate MMIO communication chan
From: |
Stefan Hajnoczi |
Subject: |
Re: [PATCH v5 32/50] multi-process: Use separate MMIO communication channel |
Date: |
Fri, 6 Mar 2020 16:52:27 +0000 |
This went unanswered in the last revision:
On Thu, Nov 21, 2019 at 12:31:42PM +0000, Stefan Hajnoczi wrote:
> On Wed, Nov 13, 2019 at 11:14:50AM -0500, Jag Raman wrote:
> > On 11/11/2019 11:21 AM, Stefan Hajnoczi wrote:
> > > On Thu, Oct 24, 2019 at 05:09:13AM -0400, Jagannathan Raman wrote:
> > > > Using a separate communication channel for MMIO helps
> > > > with improving Performance
> > >
> > > Why?
> >
> > Typical initiation of IO operations involves multiple MMIO accesses per
> > IO operation. In some legacy devices like LSI, the completion of the IO
> > operations is also accomplished by polling on MMIO registers. Therefore,
> > MMIO traffic can be hefty in some cases and contribute to Performance.
> >
> > Having a dedicated channel for MMIO ensures that it doesn't have to
> > compete with other messages to the remote process, especially when there
> > are multiple devices emulated by a single remote process.
>
> A vCPU doing a polling read on an MMIO register will cause a BAR_READ
> message to be sent to the remote process. The vCPU thread waits for the
> response to this message.
>
> When there are multiple remote devices each has its own socket, so
> communication with different remote processes does not interfere.
>
> The only scenarios I can think of are:
> 1. Interference within a single device between vCPUs and/or the QEMU
> monitor.
> 2. A single process serving multiple devices that is implemented in a
> way such that different devices interfere with each other.
>
> It sounds like you are saying the problem is #2, but this is still
> unclear to me. If the remote process can be implemented in a way such
> that there is no interference when each device has a special MMIO
> socket, then why can't it be implemented in a way such that there is no
> interference when each device's main socket is used (each device has
> it's own!).
>
> Maybe I've missed the point. It would be good if you could explain in
> more detail.
>
> Stefan
signature.asc
Description: PGP signature
- Re: [PATCH v5 32/50] multi-process: Use separate MMIO communication channel,
Stefan Hajnoczi <=