The attached patch improves locking in the sungem driver:
- a single lock is used in the driver - gem_start_xmit, gem_poll, and gem_interrupt are lockless The new locking design is based on what's in tg3.c. The patch runs smoothly on my ibook (with CONFIG_SMP set), but it will need extensive testing on a multi-cpu box. The patch includes two implementations for gem_interrupt(). One is lockless while the other makes use of a spinlock. The spinlock version is there because I was not sure the lockless version would work with net_poll_controller. One of the two versions must be removed in the final patch. Patch applies to current git net-2.6. Please review, and test if possible. Thanks, Signed-ff-by: Eric Lemoine <[EMAIL PROTECTED]> -- Eric
sungem-locking.patch
Description: Binary data