Re: [PATCH] I/O space write barrier

From: David S. Miller
Date: Wed Sep 29 2004 - 15:40:47 EST


On Wed, 29 Sep 2004 20:36:46 +1000
Greg Banks <gnb@xxxxxxx> wrote:

> Ok, here's a patch for the tg3 network driver to use mmiowb(). Tests
> over the last couple of days has shown that it solves the oopses in
> tg3_tx() that I reported and attempted to patch some time ago:
>
> http://marc.theaimsgroup.com/?l=linux-netdev&m=108538612421774&w=2
>
> The CPU usage of the mmiowb() approach is also significantly better
> than doing PCI reads to flush the writes (by setting the existing
> TG3_FLAG_MBOX_WRITE_REORDER flag). In an artificial CPU-constrained
> test on a ProPack kernel, the same amount of CPU work for the REORDER
> solution pushes 85.1 MB/s over 2 NICs compared to 146.5 MB/s for the
> mmiowb() solution.

Please put this macro in asm/io.h or similar and make sure
every platform has it implemented or provides a NOP version.

A lot of people are going to get this wrong btw. The only
way it's really going to be cured across the board is if someone
like yourself who understands this audits all of the drivers.
-
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/