Re: [PATCH 7 of 20] ipath - misc driver support code

From: Roland Dreier
Date: Thu Mar 09 2006 - 18:10:50 EST


> +/**
> + * ipath_unordered_wc - indicate whether write combining is ordered
> + *
> + * Because our performance depends on our ability to do write combining mmio
> + * writes in the most efficient way, we need to know if we are on an Intel
> + * or AMD x86_64 processor. AMD x86_64 processors flush WC buffers out in
> + * the order completed, and so no special flushing is required to get
> + * correct ordering. Intel processors, however, will flush write buffers
> + * out in "random" orders, and so explict ordering is needed at times.
> + */
> +int ipath_unordered_wc(void)
> +{
> + return boot_cpu_data.x86_vendor == X86_VENDOR_INTEL;
> +}

This is kind of theoritical, but it seems to me that it would be safer
to write this as

int ipath_unordered_wc(void)
{
return boot_cpu_data.x86_vendor != X86_VENDOR_AMD;
}

after all, Via is probably going to have an x86-64 CPU one of these
days, and I doubt you've checked that their WC flush is ordered.

- R.
-
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/