> Let's start with a patch that just replaces rmb() with smp_rmb() and then work > on optimizing. Can you provide performance numbers that show > rmb() (and soon smp_rmb()) is causing actual problems here? Ok, I will send a patch that just replaces rmb() with smp_rmb() and give performance numbers.
> BUG() should never be used[1]. This is a recoverable situation, I think, and > should be handled as such. I just follow the default case behind. Let's discuss this issue in next patches. -- wanghongzhe