[PATCH 5/5] powerpc: iommu: Implement IOMMU pools to improve multiqueue adapter performance

Michael Ellerman michael at ellerman.id.au
Fri Jun 8 12:43:43 EST 2012


On Mon, 2012-06-04 at 15:45 +1000, Anton Blanchard wrote:
> At the moment all queues in a multiqueue adapter will serialise
> against the IOMMU table lock. This is proving to be a big issue,
> especially with 10Gbit ethernet.

..

> +
>  struct iommu_table {
>  	unsigned long  it_busno;     /* Bus number this table belongs to */
>  	unsigned long  it_size;      /* Size of iommu table in entries */
> @@ -61,10 +71,10 @@ struct iommu_table {
>  	unsigned long  it_index;     /* which iommu table this is */
>  	unsigned long  it_type;      /* type: PCI or Virtual Bus */
>  	unsigned long  it_blocksize; /* Entries in each block (cacheline) */
> -	unsigned long  it_hint;      /* Hint for next alloc */
> -	unsigned long  it_largehint; /* Hint for large allocs */
> -	unsigned long  it_halfpoint; /* Breaking point for small/large allocs */
> -	spinlock_t     it_lock;      /* Protects it_map */
> +	unsigned long  poolsize;
> +	unsigned long  nr_pools;
> +	struct iommu_pool large_pool;
> +	struct iommu_pool pools[IOMMU_NR_POOLS];
>  	unsigned long *it_map;       /* A simple allocation bitmap for now */
>  };
>  

Breaks the cell code with:

arch/powerpc/platforms/cell/iommu.c:521:15: error: 'struct iommu_table' has no member named 'it_hint'


cheers



More information about the Linuxppc-dev mailing list