| Date | Wed, 9 Jul 2008 19:14:59 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH 22/34] AMD IOMMU: add domain allocation and deallocation functions |
| |
On Thu, 26 Jun 2008 21:27:58 +0200 Joerg Roedel <joerg.roedel@amd.com> 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.
|