From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.0 required=3.0 tests=INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 64BA8C18E5A for ; Mon, 9 Mar 2020 15:08:20 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 300C720873 for ; Mon, 9 Mar 2020 15:08:20 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 300C720873 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id B3E4D6B0005; Mon, 9 Mar 2020 11:08:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AC7096B0006; Mon, 9 Mar 2020 11:08:19 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9685A6B0007; Mon, 9 Mar 2020 11:08:19 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0254.hostedemail.com [216.40.44.254]) by kanga.kvack.org (Postfix) with ESMTP id 7A07A6B0005 for ; Mon, 9 Mar 2020 11:08:19 -0400 (EDT) Received: from smtpin01.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id 3025D181AC1F5 for ; Mon, 9 Mar 2020 15:08:19 +0000 (UTC) X-FDA: 76576154718.01.hand25_48989be468904 X-HE-Tag: hand25_48989be468904 X-Filterd-Recvd-Size: 4279 Received: from mail-wm1-f68.google.com (mail-wm1-f68.google.com [209.85.128.68]) by imf06.hostedemail.com (Postfix) with ESMTP for ; Mon, 9 Mar 2020 15:08:18 +0000 (UTC) Received: by mail-wm1-f68.google.com with SMTP id a141so9978923wme.2 for ; Mon, 09 Mar 2020 08:08:18 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=CShDAEQjTdt9JIyUO7h956L1WdGExQd9LWldz9MJ2Cc=; b=hKYjMmhhY3Wn41BL/nqraSUxaZGw20+UnO6N4WtdJ8HmdVoMM5lnCGKI6xQdNl+iKm AcI1IRmK2huzid8fznrxIXrMMVyJIgCTnAntTy6BwJSJT1DkjqWrBAbzc5wCsOHJr0gx FSNyVdT7Es+qKxC+v91B05PcRI20kC3FOywsoCyQ961H6yWYuRbzQ5N4JGdaR86oQ+Oe utglivyDvmJE1HMU+nrg0RathmqgOl8P6k8a4wQKsjgJDpKW96qA71nMgHd3AB6Xo20e rsbWiBe9WM6qadvcXpG6ayNkMGHcSYl23aJpwXb4TVzE3O0bdqDNMmPVPGIMTWFtdi/9 chXw== X-Gm-Message-State: ANhLgQ2d3tVxcpohGcWlob6wgcj4tNx4HeQMMSkQ57VP65KApxaU44yJ qvn2rGUB/5Rj3oKWzCdOEbQ= X-Google-Smtp-Source: ADFU+vsBff7aAfjr2pMkzUFLxVWiTLhnJal1XORsmcLHXYxZqGIQplNi2T24y04DsAq8kcJJvwWvfA== X-Received: by 2002:a7b:c082:: with SMTP id r2mr11039389wmh.177.1583766497622; Mon, 09 Mar 2020 08:08:17 -0700 (PDT) Received: from localhost (prg-ext-pat.suse.com. [213.151.95.130]) by smtp.gmail.com with ESMTPSA id s13sm10369659wrw.29.2020.03.09.08.08.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 Mar 2020 08:08:16 -0700 (PDT) Date: Mon, 9 Mar 2020 16:08:15 +0100 From: Michal Hocko To: Oleksandr Natalenko Cc: Vlastimil Babka , Minchan Kim , Andrew Morton , LKML , linux-mm , linux-api@vger.kernel.org, Suren Baghdasaryan , Tim Murray , Daniel Colascione , Sandeep Patil , Sonny Rao , Brian Geffon , Johannes Weiner , Shakeel Butt , John Dias , Joel Fernandes , Jann Horn , alexander.h.duyck@linux.intel.com, sj38.park@gmail.com, SeongJae Park Subject: Re: [PATCH v7 7/7] mm/madvise: allow KSM hints for remote API Message-ID: <20200309150815.GR8447@dhcp22.suse.cz> References: <20200302193630.68771-1-minchan@kernel.org> <20200302193630.68771-8-minchan@kernel.org> <2a66abd8-4103-f11b-06d1-07762667eee6@suse.cz> <20200306134146.mqiyvsdnqty7so53@butterfly.localdomain> <20200309131117.anvyjszaigpoz2kp@butterfly.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200309131117.anvyjszaigpoz2kp@butterfly.localdomain> X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Mon 09-03-20 14:11:17, Oleksandr Natalenko wrote: > On Fri, Mar 06, 2020 at 05:08:18PM +0100, Vlastimil Babka wrote: [...] > > Dunno, it's nice to react to signals quickly, for any proces that gets them, no? > > So, do you mean something like this? > > === > diff --git a/mm/ksm.c b/mm/ksm.c > index 363ec8189561..b39c237cfcf4 100644 > --- a/mm/ksm.c > +++ b/mm/ksm.c > @@ -849,7 +849,8 @@ static int unmerge_ksm_pages(struct vm_area_struct *vma, > for (addr = start; addr < end && !err; addr += PAGE_SIZE) { > if (ksm_test_exit(vma->vm_mm)) > break; > - if (signal_pending(current)) > + if (signal_pending(current) || > + signal_pending(rcu_dereference(vma->vm_mm->owner))) > err = -ERESTARTSYS; > else > err = break_ksm(vma, addr); > === This is broken because mm might be attached to different tasks. AFAIU this check is meant to allow quick backoff of the _calling_ process so that it doesn't waste time when the context is killed already. I do not understand why should we care about any other context here? What is the actual problem this would solve? -- Michal Hocko SUSE Labs