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

Re: [PATCH v6 10/10] xen/arm: smmuv3: Add support for SMMUv3 driver

  • To: Julien Grall <julien@xxxxxxx>
  • From: Rahul Singh <Rahul.Singh@xxxxxxx>
  • Date: Mon, 25 Jan 2021 09:13:56 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.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-SenderADCheck; bh=SOTQ7vuYl+TbrTyVzlw+kbQud6xFvcCU36SQSYu77tQ=; b=EQZ4ufzM7yclertDeN/kHTUrOzbqJQk1mzmuUDQ5HKlgmnZ9bo8J/sQzLJuT5cIL3M3pG6tcP90MCz0mz1iC+FdslkJTYSG+/iQcaSskRBah3z5XgwT0i3QF2lG+Bf3NIND6OhZExvTg0SO0bpDNPo5m3AKeD9NtIOzY50S5fJTD3QfqqR8z0+JlUu4Cl/w1lp3J+KFS9sNK3dC8A3EI3KHVJueXlbb8f5onvjOyHRIKKx9wm3RfNJENplt3P+YkJatbCuourrei1R638lwVMa/gRd8+woQbDxxHKfaisgOnhcfm9ujrl/Nb9TUcDsRq4RDdinfx8Ivg1q5gzMGjEw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=J+4237TtxSiEoUbQtRx8MOqiAmhtHDeCR53I8aSFmrzMHvaa3fGB7SaM6U1NhU9pyFQFBkXQgq3z2zKItF3N/PsjKMbxwu6xt5gcB/4refiLs4Vg1AxEovnS3VSZfBzURzQXMv4W0jyynJUOVErQmFsAnUcbyfdHUOOesxKfTxD7Zq/+mpcKWAK3zGnRVa5cTTmOWZlPyLKesXVa07i0zgGI2uekrdlOj5GcDiX1LxniWMngbsHMNOA2HO/b+kAC0TK01AoCy61Ap1BSW9m7R/auejTPbLLJjES7DyY/bUfw8+zwrBHmhlsYK0MgDZZAjBjcHWrRNhokibY4XaFWmA==
  • Authentication-results-original: xen.org; dkim=none (message not signed) header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Bertrand Marquis <Bertrand.Marquis@xxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>, Ian Jackson <iwj@xxxxxxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Paul Durrant <paul@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
  • Delivery-date: Mon, 25 Jan 2021 09:14:16 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Nodisclaimer: true
  • Original-authentication-results: xen.org; dkim=none (message not signed) header.d=none;xen.org; dmarc=none action=none header.from=arm.com;
  • Thread-index: AQHW8LMBkc1Fz+s0Zkin6A/2bKvT9Ko1G8mAgAL3mYA=
  • Thread-topic: [PATCH v6 10/10] xen/arm: smmuv3: Add support for SMMUv3 driver

Hello Julien,

> On 23 Jan 2021, at 11:55 am, Julien Grall <julien@xxxxxxx> wrote:
> Hi Rahul
> On 22/01/2021 11:37, Rahul Singh wrote:
>> Add support for ARM architected SMMUv3 implementation. It is based on
>> the Linux SMMUv3 driver.
>> Driver is currently supported as Tech Preview.
>> Major differences with regard to Linux driver are as follows:
>> 2. Only Stage-2 translation is supported as compared to the Linux driver
>>    that supports both Stage-1 and Stage-2 translations.
>> 3. Use P2M  page table instead of creating one as SMMUv3 has the
>>    capability to share the page tables with the CPU.
>> 4. Tasklets are used in place of threaded IRQ's in Linux for event queue
>>    and priority queue IRQ handling.
>> 5. Latest version of the Linux SMMUv3 code implements the commands queue
>>    access functions based on atomic operations implemented in Linux.
>>    Atomic functions used by the commands queue access functions are not
>>    implemented in XEN therefore we decided to port the earlier version
>>    of the code. Atomic operations are introduced to fix the bottleneck
>>    of the SMMU command queue insertion operation. A new algorithm for
>>    inserting commands into the queue is introduced, which is lock-free
>>    on the fast-path.
>>    Consequence of reverting the patch is that the command queue
>>    insertion will be slow for large systems as spinlock will be used to
>>    serializes accesses from all CPUs to the single queue supported by
>>    the hardware. Once the proper atomic operations will be available in
>>    XEN the driver can be updated.
>> 6. Spin lock is used in place of mutex when attaching a device to the
>>    SMMU, as there is no blocking locks implementation available in XEN.
>>    This might introduce latency in XEN. Need to investigate before
>>    driver is out for tech preview.
>> 7. PCI ATS functionality is not supported, as there is no support
>>    available in XEN to test the functionality. Code is not tested and
>>    compiled. Code is guarded by the flag CONFIG_PCI_ATS.
>> 8. MSI interrupts are not supported as there is no support available in
>>    XEN to request MSI interrupts. Code is not tested and compiled. Code
>>    is guarded by the flag CONFIG_MSI.
>> Signed-off-by: Rahul Singh <rahul.singh@xxxxxxx>
>> Reviewed-by: Bertrand Marquis <bertrand.marquis@xxxxxxx>
> Thank you for sending a new version. I have commited the series now.

Thank you for committing the series.


> Cheers,
> -- 
> Julien Grall



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