[PATCH v3 3/3] cpuset: PF_SPREAD_PAGE and PF_SPREAD_SLAB should be atomic flags

2014-09-23 Thread Zefan Li
When we change cpuset.memory_spread_{page,slab}, cpuset will flip PF_SPREAD_{PAGE,SLAB} bit of tsk->flags for each task in that cpuset. This should be done using atomic bitops, but currently we don't, which is broken. Tetsuo reported a hard-to-reproduce kernel crash on RHEL6, which happend when on

Re: [PATCH v3 3/3] cpuset: PF_SPREAD_PAGE and PF_SPREAD_SLAB should be atomic flags

2014-09-23 Thread David Rientjes
On Tue, 23 Sep 2014, Zefan Li wrote: > When we change cpuset.memory_spread_{page,slab}, cpuset will flip > PF_SPREAD_{PAGE,SLAB} bit of tsk->flags for each task in that cpuset. > This should be done using atomic bitops, but currently we don't, > which is broken. > > Tetsuo reported a hard-to-repr

Re: [PATCH v3 3/3] cpuset: PF_SPREAD_PAGE and PF_SPREAD_SLAB should be atomic flags

2014-09-23 Thread Zefan Li
于 2014/9/24 6:10, David Rientjes wrote: > On Tue, 23 Sep 2014, Zefan Li wrote: > >> When we change cpuset.memory_spread_{page,slab}, cpuset will flip >> PF_SPREAD_{PAGE,SLAB} bit of tsk->flags for each task in that cpuset. >> This should be done using atomic bitops, but currently we don't, >> whic