Re: [PATCH 1/4] AMD IOMMU: use status bit instead of memory write-back for completion wait

From: Ingo Oeser
Date: Thu Aug 14 2008 - 14:42:24 EST


Hi Joerg,

On Thursday 14 August 2008, Joerg Roedel wrote:
> diff --git a/arch/x86/kernel/amd_iommu.c b/arch/x86/kernel/amd_iommu.c
> index 22d7d05..028e945 100644
> --- a/arch/x86/kernel/amd_iommu.c
> +++ b/arch/x86/kernel/amd_iommu.c
> @@ -122,9 +119,15 @@ static int iommu_completion_wait(struct amd_iommu *iommu)
>
> while (!ready && (i < EXIT_LOOP_COUNT)) {
> ++i;
> - cpu_relax();

Could you elaborate, why you had to remove this?

Busy waiting loops should always do cpu_relay()
to reduce heat procution and power consumption while idle.

> + /* wait for the bit to become one */
> + status = readl(iommu->mmio_base + MMIO_STATUS_OFFSET);
> + ready = status & MMIO_STATUS_COM_WAIT_INT_MASK;
> }
>

Best Regards

Ingo Oeser
--
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/