BB ethernet not functioning when running CONFIG_PREEMPT=y kernel

My BeagleBone runs fine with a kernel I compiled, so long at that kernel does not use CONFIG_PREEMPT=y.

I CONFIG_PREEMPT=y is in play, then it still boots off of SD, I get a serial console, and everything except ethernet seems to work.

I cannot ping out, nor in from another machine.

This is true with both 3.1 and 3.2 kernels.

I need the low latency of the CONFIG_PREEMPT for factory automation.

Suggestions?