Re: [PATCH 22/34] AMD IOMMU: add domain allocation and deallocationfunctions

From: Andrew Morton
Date: Wed Jul 09 2008 - 22:21:43 EST


On Thu, 26 Jun 2008 21:27:58 +0200 Joerg Roedel <joerg.roedel@xxxxxxx> wrote:

> +static u16 domain_id_alloc(void)
> +{
> + unsigned long flags;
> + int id;
> +
> + write_lock_irqsave(&amd_iommu_devtable_lock, flags);
> + id = find_first_zero_bit(amd_iommu_pd_alloc_bitmap, MAX_DOMAIN_ID);
> + BUG_ON(id == 0);
> + if (id > 0 && id < MAX_DOMAIN_ID)
> + __set_bit(id, amd_iommu_pd_alloc_bitmap);
> + else
> + id = 0;
> + write_unlock_irqrestore(&amd_iommu_devtable_lock, flags);
> +
> + return id;
> +}

Presumably this is not performance-critical. If it is, an IDR
tree would help.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/