On Tue, Dec 11, 2018 at 12:23:11PM +0300, Kirill Tkhai wrote: ... > > Kirill, can we rather reuse @ksm_thread variable from ksm_init > > (by moving it to static file level variable). > > I've considered using it, but this is not looks good for me. > The problem is ksm thread may be parked, or it even may fail > to start. But at the same time, parallel writes to "sleep_millisecs" > are possible. There is a place for races, so to use the local > variable in ksm_init() (like we have at the moment) looks better > for me. At the patch the mutex protects against any races. > > > Also wakening up > > unconditionally on write looks somehow suspicious to me > > though I don't have a precise argument against. > > The conditional wait requires one more wait_queue. This is > the thing I tried to avoid. But. I also had doubts about > this, so you are already the second person, who worries :) > It looks like we really need to change this. > > How are you about something like the below? I see. The code below looks a way better for me, thanks!