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.1 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,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 B98AAC10F29 for ; Mon, 9 Mar 2020 15:08:20 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 8D3AC208C3 for ; Mon, 9 Mar 2020 15:08:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1583766500; bh=zR+E5tYBttVPCcPbKOaXsvyQykM+ee/W658ZXR3Ckzs=; h=Date:From:To:Cc:Subject:References:In-Reply-To:List-ID:From; b=kpWG5ucIQzLoI5C7WfGhx5SXKaWM9nKdvGLeQIjLH4g0ZhpuVY19hfNrp3jQ9IDAi DbTpjFrk+De4uKd+/RJUTOXv1b5SLFZFtTwpOiSPal5KZqQaoKuMphQlLk4ss6ToBi yJhWuRRNnThAyBg6nr2RZF7r75FnyR6lrmqhxcjI= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726871AbgCIPIT (ORCPT ); Mon, 9 Mar 2020 11:08:19 -0400 Received: from mail-wm1-f67.google.com ([209.85.128.67]:34807 "EHLO mail-wm1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726676AbgCIPIT (ORCPT ); Mon, 9 Mar 2020 11:08:19 -0400 Received: by mail-wm1-f67.google.com with SMTP id x3so110852wmj.1; 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=SuHErUd4hR54E0HKVLUY0MJqY/fPYTDEbVTlARgsm7ZfJqCPO8Fr0kHKxtKHriMOPK 2kX+ydjK6qTlAMPRKTDHc4qcvJuZy6TRqocNbt4XmmEcCbgaQeOxgefnygvx+FyTqEzl KLPYs1X8zLCUyuMLbtueY8jIgzDAKW98CDMRcy5aV0QWCO9/Tdy/D0E7LNtkSMyjhj0v Z4qecc5v2h3Xo6YNmJwecPSjdZFdVwp1zl4T7Ce4YIkE9BMIW7NgxBPTww6HScPXOXd0 FcYmltZMpSZZ1Jj4EF4hG4OPZ02p8kD9jHHRgZz3ufUYAgERtR1wKmlNuX8MjC3ru1qh dnNg== X-Gm-Message-State: ANhLgQ1yexdspLM0Ht9//K1H0EJxt15+cpprGL7UH9bSoHYcFZ94m/nI IQrvLMeQq9R5u4hyphsUygM= 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> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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