• W
    iommu/arm-smmu: use mutex instead of spinlock for locking page tables · a44a9791
    Will Deacon 提交于
    When creating IO mappings, we lazily allocate our page tables using the
    standard, non-atomic allocator functions. This presents us with a
    problem, since our page tables are protected with a spinlock.
    
    This patch reworks the smmu_domain lock to use a mutex instead of a
    spinlock. iova_to_phys is then reworked so that it only reads the page
    tables, and can run in a lockless fashion, leaving the mutex to guard
    against concurrent mapping threads.
    
    Cc: <stable@vger.kernel.org>
    Signed-off-by: NWill Deacon <will.deacon@arm.com>
    a44a9791
arm-smmu.c 51.5 KB