From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965070AbbJVPG1 (ORCPT ); Thu, 22 Oct 2015 11:06:27 -0400 Received: from mail-wi0-f182.google.com ([209.85.212.182]:37819 "EHLO mail-wi0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S964806AbbJVPG0 (ORCPT ); Thu, 22 Oct 2015 11:06:26 -0400 Date: Thu, 22 Oct 2015 17:06:23 +0200 From: Michal Hocko To: Tejun Heo Cc: Christoph Lameter , Tetsuo Handa , linux-mm@kvack.org, linux-kernel@vger.kernel.org, torvalds@linux-foundation.org, David Rientjes , oleg@redhat.com, kwalker@redhat.com, akpm@linux-foundation.org, hannes@cmpxchg.org, vdavydov@parallels.com, skozina@redhat.com, mgorman@suse.de, riel@redhat.com Subject: Re: [PATCH] mm,vmscan: Use accurate values for zone_reclaimable() checks Message-ID: <20151022150623.GE26854@dhcp22.suse.cz> References: <20151021143337.GD8805@dhcp22.suse.cz> <20151021145505.GE8805@dhcp22.suse.cz> <201510222037.ACH86458.OFOLFtQFOHJSVM@I-love.SAKURA.ne.jp> <20151022140944.GA30579@mtj.duckdns.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20151022140944.GA30579@mtj.duckdns.org> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu 22-10-15 23:09:44, Tejun Heo wrote: > On Thu, Oct 22, 2015 at 08:39:11AM -0500, Christoph Lameter wrote: > > On Thu, 22 Oct 2015, Tetsuo Handa wrote: > > > > > The problem would be that the "struct task_struct" to execute vmstat_update > > > job does not exist, and will not be able to create one on demand because we > > > are stuck at __GFP_WAIT allocation. Therefore adding a dedicated kernel > > > thread for vmstat_update job would work. But ... > > > > Yuck. Can someone please get this major screwup out of the work queue > > subsystem? Tejun? > > Hmmm? Just use a dedicated workqueue with WQ_MEM_RECLAIM. Do I get it right that if vmstat_update has its own workqueue with WQ_MEM_RECLAIM then there is a _guarantee_ that the rescuer will always be able to process vmstat_update work from the requested CPU? That should be sufficient because vmstat_update doesn't sleep on allocation. I agree that this would be a more appropriate fix. -- Michal Hocko SUSE Labs