Messages in this thread | | | Date | Fri, 6 Nov 2015 06:56:28 -0600 (CST) | From | Christoph Lameter <> | Subject | Re: [patch 3/3] vmstat: Create our own workqueue |
| |
On Fri, 6 Nov 2015, Tetsuo Handa wrote:
> So, if you refer to the blocking of the execution of vmstat updates, > description for patch 3/3 sould be updated to something like below?
Ok that is much better.
> ---------- > Since __GFP_WAIT memory allocations do not call schedule() > when there is nothing to reclaim, and workqueue does not kick > remaining workqueue items unless in-flight workqueue item calls > schedule(), __GFP_WAIT memory allocation requests by workqueue > items can block vmstat_update work item forever. > > Since zone_reclaimable() decision depends on vmstat counters > to be up to dated, a silent lockup occurs because a workqueue > item doing a __GFP_WAIT memory allocation request continues > using outdated vmstat counters. > > In order to fix this problem, we need to allocate a dedicated > workqueue for vmstat. Note that this patch itself does not fix > lockup problem. Tejun will develop a patch which detects lockup > situation and kick remaining workqueue items. > ---------- >
| |