Quoting r. Roland Dreier <[EMAIL PROTECTED]>: > Subject: Re: ANNOUNCE: First usable version of userspace verbs > > Michael> I think I have discovered the problem. It seems that with > Michael> -O3 my compiler may reorder the WQE (and possibly CQE) > Michael> write with respect to the doorbell. This wont happen on > Michael> i386 with consistent i/o ordering since the doorbell is > Michael> done in assembly, and probably not on other 32 bit > Michael> architectures since the mutex is likely to include a > Michael> memory barrier. > > Michael> Applying the folowing patch fixes the problem for me for > Michael> x86_64. > > Thanks for diagnosing this. I think I want to work on a more general > fix though. > > - R. >
Generally I think you'll need to implement a write memory barrier, and use it before each doorbell. I didnt find an efficient portable way to do this. I suggest implementing it for ppc with eioio, and simply use a spinlock instead of a barrier for anything else. -- MST - Michael S. Tsirkin _______________________________________________ openib-general mailing list [email protected] http://openib.org/mailman/listinfo/openib-general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
