Re: [patch 1/2] powerpc: rmb fix
From: Segher Boessenkool <hidden>
Date: 2007-08-22 03:33:26
quoted
The I/O accessor functions enforce the necessary ordering already I believe.Hmm, I never followed those discussions last year about IO ordering, and I can't see where (if) it was documented anywhere :(
The comments in system.h weren't updated with the last fix, I think.
It appears that legacy code is handled by defining the old IO accessors to be completely ordered, and introducing new __raw_ variants that are not (OTOH, it seems like other architectures are implementing __raw prefix as inorder unless there is a _relaxed postfix).
__raw_XX() is for platform code only, which can do the needed barriers without having to use the heavy hammer like everything else unfortunately does.
Drivers are definitely using these __raw_ accessors, and from a quick look, they do appear to be hoping that *mb() is going to order access for them.
Which drivers? Segher