[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [RFC PATCH 00/10] spapr: vfio: Enable Dynamic DMA windows
From: |
Alexey Kardashevskiy |
Subject: |
Re: [Qemu-ppc] [RFC PATCH 00/10] spapr: vfio: Enable Dynamic DMA windows (DDW) |
Date: |
Mon, 11 Aug 2014 09:50:44 +1000 |
User-agent: |
Mozilla/5.0 (X11; Linux i686 on x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.0 |
On 08/05/2014 11:30 AM, Alexey Kardashevskiy wrote:
> On 07/31/2014 07:34 PM, Alexey Kardashevskiy wrote:
>> At the moment sPAPR PHB supports only a single 32bit window
>> which is normally 1..2GB which is not enough for high performance devices.
>>
>> PAPR spec enables creating an additional window(s) to support 64bit
>> DMA and bigger page sizes.
>>
>> This patchset adds DDW support for pseries. The host kernel changes are
>> required.
>>
>> This was tested on POWER8 system which allows one additional DMA window
>> which is mapped at 0x800.0000.0000.0000 and supports 16MB pages.
>> Existing guests check for DDW capabilities in PHB's device tree and if it
>> is present, they request for an additional window and map entire guest RAM
>> using H_PUT_TCE/... hypercalls once at boot time and switch to direct DMA
>> operations.
>>
>> TCE tables still may be big enough for guests backed with 64K pages but they
>> are reasonably small for guests backed by 16MB pages.
>>
>> Please comment. Thanks!
>
>
> Alexander Graf, ping!
Ping?
>
>
>
>> Alexey Kardashevskiy (10):
>> qom: Make object_child_foreach safe for objects removal
>> spapr_iommu: Disable in-kernel IOMMU tables for >4GB windows
>> spapr_pci: Make find_phb()/find_dev() public
>> spapr_iommu: Make spapr_tce_find_by_liobn() public
>> linux headers update for DDW
>> spapr_rtas: Add Dynamic DMA windows (DDW) RTAS calls support
>> spapr: Add "ddw" machine option
>> spapr_pci: Enable DDW
>> spapr_pci_vfio: Enable DDW
>> vfio: Enable DDW ioctls to VFIO IOMMU driver
>>
>> hw/misc/vfio.c | 4 +
>> hw/ppc/Makefile.objs | 3 +
>> hw/ppc/spapr.c | 15 +++
>> hw/ppc/spapr_iommu.c | 8 +-
>> hw/ppc/spapr_pci.c | 87 +++++++++++--
>> hw/ppc/spapr_pci_vfio.c | 75 +++++++++++
>> hw/ppc/spapr_rtas_ddw.c | 296
>> ++++++++++++++++++++++++++++++++++++++++++++
>> include/hw/pci-host/spapr.h | 27 ++++
>> include/hw/ppc/spapr.h | 7 +-
>> linux-headers/linux/vfio.h | 37 +++++-
>> qom/object.c | 4 +-
>> trace-events | 4 +
>> vl.c | 4 +
>> 13 files changed, 552 insertions(+), 19 deletions(-)
>> create mode 100644 hw/ppc/spapr_rtas_ddw.c
>>
>
>
--
Alexey