On 08/19, Oleg Nesterov wrote:
>
> I hope I missed something, but I'm _afraid_ we may have problems.
>
> Looks like we can almost never use utrace->xxx:1 fields without ->lock.
> Suppose that, for example, utrace_control(UTRACE_REPORT) does
>
>       utrace->report = 1;
>
> But report/interrupt/etc are all bitfields :1. Doesn't this mean compiler
> can do anything it wants with the word where these bitfields live? Can't
> it temporary (say) clear ->interrupt while setting ->report ?
>
> IOW, as a perl programmer I need your help with "C". Do we have any
> guarantee that compiler will always update the word "as a whole" ?

OK, I think this was a false alarm. But I failed to google the "proof".

Oleg.

Reply via email to