Received: by 2002:ac0:a581:0:0:0:0:0 with SMTP id m1-v6csp674259imm; Wed, 20 Jun 2018 04:57:57 -0700 (PDT) X-Google-Smtp-Source: ADUXVKIa0MNzxKQlmcKkvvcrV2/t0qKVGfhGQC1N96yAqWBGqlTHtV9jCH5L1EO4V5pLNtiPYM9S X-Received: by 2002:a17:902:b410:: with SMTP id x16-v6mr23183310plr.324.1529495877919; Wed, 20 Jun 2018 04:57:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1529495877; cv=none; d=google.com; s=arc-20160816; b=LsPNz48dqSN7RgVKQVWA2g8WuKzXfFWrkw9QiIQYceU+lx33XrDvz+1JjCNyr4hquk acUCNlDKaVyPxPQV7fCyzc5+1WmoblyIKqw1CQrxvGtO8GB7Lcp83Lgbl67WPkebmNNS Xx6kuxCyLE81MBrzSKov+UCOZMtaAKoRRV5H/6LrZBhnRqhrZS7jp7qPWMkzsTcOwp6C 4qE0OIJp81MT3PLO8ryCo4ZzZSVyh+s8GA1m4Fexmrh+lM05Y90hLoP3L5EfFBfg1+iY hs23WYPJoSu0qdTCLqwAJQK8OdyBraMEXCXdfvJthdD6+dQJXQ6IppLXpObbP/zo59cn JLXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:arc-authentication-results; bh=Jx6up5WjqXRBm6HPKMkTTJQEIF7SsMMuyE7sMjXZ5bk=; b=wYNmCJN/+JosUBuqnN9Jj1xlSh5bJjr3lErJFXkoy2ksQ1eCOvBzAYFIZ+hpBs0JBt AJigmCleD36LkxEuAmDuZk7QHnL0pW7P41ZmQKmN13cZvMzVCT7FDmqpXTTRa5f3J+Pw dMRkrj+2jy2ce4p4nXORTrl7FIbhu2PWsPrEJMslWaUUa8cSlf/MFRuYmuSK2pBCX3bB /UkNLDkOEKT8lmYuFOTs55WhSlDQqObmWB52s0lULgUdbDz3aPjwBBO2t8voI5VSUqVk 46jZHzy86bcrK8k1ZnrqxZtABwXqSsl1v3hCyOXKFPIV2xmGAqUcz2rYHnIzGgIADI3m OJjA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id c16-v6si2606305pli.269.2018.06.20.04.57.43; Wed, 20 Jun 2018 04:57:57 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754129AbeFTLze (ORCPT + 99 others); Wed, 20 Jun 2018 07:55:34 -0400 Received: from mx2.suse.de ([195.135.220.15]:44564 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753475AbeFTLzd (ORCPT ); Wed, 20 Jun 2018 07:55:33 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay1.suse.de (charybdis-ext-too.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 5992BADE3; Wed, 20 Jun 2018 11:55:32 +0000 (UTC) Date: Wed, 20 Jun 2018 13:55:31 +0200 From: Michal Hocko To: Tetsuo Handa Cc: linux-mm@kvack.org, rientjes@google.com, akpm@linux-foundation.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] mm,oom: Bring OOM notifier callbacks to outside of OOM killer. Message-ID: <20180620115531.GL13685@dhcp22.suse.cz> References: <1529493638-6389-1-git-send-email-penguin-kernel@I-love.SAKURA.ne.jp> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1529493638-6389-1-git-send-email-penguin-kernel@I-love.SAKURA.ne.jp> User-Agent: Mutt/1.9.5 (2018-04-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed 20-06-18 20:20:38, Tetsuo Handa wrote: > Sleeping with oom_lock held can cause AB-BA lockup bug because > __alloc_pages_may_oom() does not wait for oom_lock. Since > blocking_notifier_call_chain() in out_of_memory() might sleep, sleeping > with oom_lock held is currently an unavoidable problem. Could you be more specific about the potential deadlock? Sleeping while holding oom lock is certainly not nice but I do not see how that would result in a deadlock assuming that the sleeping context doesn't sleep on the memory allocation obviously. > As a preparation for not to sleep with oom_lock held, this patch brings > OOM notifier callbacks to outside of OOM killer, with two small behavior > changes explained below. Can we just eliminate this ugliness and remove it altogether? We do not have that many notifiers. Is there anything fundamental that would prevent us from moving them to shrinkers instead? -- Michal Hocko SUSE Labs