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=-11.3 required=3.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_IN_DEF_DKIM_WL 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 75C16C55178 for ; Thu, 5 Nov 2020 17:21:28 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id B95C2206B6 for ; Thu, 5 Nov 2020 17:21:27 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="MUimO6Mb" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B95C2206B6 Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 322AD6B014F; Thu, 5 Nov 2020 12:21:27 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 2D4396B0152; Thu, 5 Nov 2020 12:21:27 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1EA976B0154; Thu, 5 Nov 2020 12:21:27 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0009.hostedemail.com [216.40.44.9]) by kanga.kvack.org (Postfix) with ESMTP id E808E6B014F for ; Thu, 5 Nov 2020 12:21:26 -0500 (EST) Received: from smtpin06.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id 812ED181AC9BF for ; Thu, 5 Nov 2020 17:21:26 +0000 (UTC) X-FDA: 77451030972.06.drug17_62004c9272cb Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin06.hostedemail.com (Postfix) with ESMTP id 55FF11003F805 for ; Thu, 5 Nov 2020 17:21:26 +0000 (UTC) X-HE-Tag: drug17_62004c9272cb X-Filterd-Recvd-Size: 6763 Received: from mail-wm1-f67.google.com (mail-wm1-f67.google.com [209.85.128.67]) by imf31.hostedemail.com (Postfix) with ESMTP for ; Thu, 5 Nov 2020 17:21:25 +0000 (UTC) Received: by mail-wm1-f67.google.com with SMTP id k18so2366091wmj.5 for ; Thu, 05 Nov 2020 09:21:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=jVksYP+m1csAgSVkfxG7oivUT+KEbcTMSnmWbNLe2cc=; b=MUimO6Mb7ah6cGTZAmJxgooDhnJYtCO+v11DToWUnLcnKBgIS9B522rXKjCeF//gj2 P76Jx9NUMKepJIh5rbuSlFCSgBBpc9RjIE8OkFffh8b3OYLIXYZkS2dGcEQC+LREixDB 8ZU0UMvyXJvyy9VP5x4hFCURmF4K4JWeGoKG87nvzf22wQUHBUkFFSsQUhPlTD3fCb/3 +wgtioTDDpSjPOc/SpMBfrsfQGo+vFANxMb3Z8CAE9MAkWCWSFbB5eOC34x4BYcwvi5b y4G/hLMtTcGr3et8Dc6KcQdALXq3+Pz/huUYBFc3y/Mc+65JJ7y4JPT4wEoGkz3TXOu2 HFhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=jVksYP+m1csAgSVkfxG7oivUT+KEbcTMSnmWbNLe2cc=; b=TNHtq9oZxBpks9KsGNxr4ZvGgV6bGAMWpTMHxyJqne5f6an5mLgfzlrWfurgsz1Tye AMZHx9vsVBSCOPttyNcwOCvt1YsnZZMhK/zHUISVy/r7fFj4bl+gFHJe29ZCEugdV2x2 SBCQ91h8oLhFxmaWUnMa2VvD7o+tIJXUurphCUNIwzYPfUg2bVbTRL4SChptDbR3n+08 QZvcI+acOli8Uk4Pyg/4El1xt1pniZo6h8w3mfbimOP2P0F5bdBpc3WFirvi+ZMOqzTB oOD/k5i+yJcDp0pkJce7lqbMSljvWWpyASXCJ0OkyjB5QdwZ123ibFWmdxqu9h5byESB UDaQ== X-Gm-Message-State: AOAM532hFY5Y8meWdt/tYtsx3fBrOGt9VnDBBi8eaYWWy4sExNM7NCbd 3w+4l4Ae51IroOkXf7chR57IfTvjYe+u/6buWGQO8w== X-Google-Smtp-Source: ABdhPJwHMg6G//mLKaUG+ayZ/oBbHYiilTcQrDw6mInR9JdkQpyrnKlQ8b/n+2t4gyudsR/O/qG576iUthD6ZFtCukg= X-Received: by 2002:a1c:7c0e:: with SMTP id x14mr3869550wmc.88.1604596884421; Thu, 05 Nov 2020 09:21:24 -0800 (PST) MIME-Version: 1.0 References: <20201015092030.GB22589@dhcp22.suse.cz> <20201103093550.GE21990@dhcp22.suse.cz> <20201103213228.GB1631979@google.com> <20201104065844.GM21990@dhcp22.suse.cz> <20201104204051.GA3544305@google.com> <20201105122012.GD21348@dhcp22.suse.cz> <20201105171611.GO21348@dhcp22.suse.cz> In-Reply-To: <20201105171611.GO21348@dhcp22.suse.cz> From: Suren Baghdasaryan Date: Thu, 5 Nov 2020 09:21:13 -0800 Message-ID: Subject: Re: [RFC]: userspace memory reaping To: Michal Hocko Cc: Minchan Kim , linux-api@vger.kernel.org, linux-mm , Andrew Morton , David Rientjes , Matthew Wilcox , Johannes Weiner , Roman Gushchin , Rik van Riel , Christian Brauner , Oleg Nesterov , Tim Murray , kernel-team , LKML , Mel Gorman Content-Type: text/plain; charset="UTF-8" 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 Thu, Nov 5, 2020 at 9:16 AM Michal Hocko wrote: > > On Thu 05-11-20 08:50:58, Suren Baghdasaryan wrote: > > On Thu, Nov 5, 2020 at 4:20 AM Michal Hocko wrote: > > > > > > On Wed 04-11-20 12:40:51, Minchan Kim wrote: > > > > On Wed, Nov 04, 2020 at 07:58:44AM +0100, Michal Hocko wrote: > > > > > On Tue 03-11-20 13:32:28, Minchan Kim wrote: > > > > > > On Tue, Nov 03, 2020 at 10:35:50AM +0100, Michal Hocko wrote: > > > > > > > On Mon 02-11-20 12:29:24, Suren Baghdasaryan wrote: > > > > > > > [...] > > > > > > > > To follow up on this. Should I post an RFC implementing SIGKILL_SYNC > > > > > > > > which in addition to sending a kill signal would also reap the > > > > > > > > victim's mm in the context of the caller? Maybe having some code will > > > > > > > > get the discussion moving forward? > > > > > > > > > > > > > > Yeah, having a code, even preliminary, might help here. This definitely > > > > > > > needs a good to go from process management people as that proper is land > > > > > > > full of surprises... > > > > > > > > > > > > Just to remind a idea I suggested to reuse existing concept > > > > > > > > > > > > fd = pidfd_open(victim process) > > > > > > fdatasync(fd); > > > > > > close(fd); > > > > > > > > > > I must have missed this proposal. Anyway, are you suggesting fdatasync > > > > > to act as a destructive operation? > > > > > > > > write(fd) && fdatasync(fd) are already destructive operation if the file > > > > is shared. > > > > > > I am likely missing something because fdatasync will not destroy any > > > underlying data. It will sync > > > > > > > You don't need to reaping as destruptive operation. Rather than, just > > > > commit on the asynchrnous status "write file into page cache and commit > > > > with fsync" and "killing process and commit with fsync". > > > > > > I am sorry but I do not follow. The result of the memory reaping is a > > > data loss. Any private mapping will simply lose it's content. The caller > > > will get EFAULT when trying to access it but there is no way to > > > reconstruct the data. This is everything but not resembling what I see > > > f{data}sync is used for. > > > > I think Minchan considers f{data}sync as a "commit" operation. > > But there is nothing like commit in that operation. It is simply a > destroy operation. ftruncate as Minchan mentions in another reply would > be a closer fit but how do you interpret the length argument? What about > memory regions which cannot be reaped? > > I do understand that reusing an existing mechanism is usually preferable > but the semantic should be reasonable and easy to reason about. Maybe then we can consider a flag for pidfd_send_signal() to indicate that we want a synchronous mm cleanup when SIGKILL is being sent? Similar to my original RFC but cleanup would happen in the context of the caller. That seems to me like the simplest and most obvious way of expressing what we want to accomplish. WDYT? > > -- > Michal Hocko > SUSE Labs > > -- > To unsubscribe from this group and stop receiving emails from it, send an email to kernel-team+unsubscribe@android.com. >