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=-5.3 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,NICE_REPLY_A, SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 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 78E67C63797 for ; Thu, 22 Jul 2021 07:45:49 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 0FC1B6023B for ; Thu, 22 Jul 2021 07:45:48 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0FC1B6023B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 9019D6B0074; Thu, 22 Jul 2021 03:45:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8B0DE6B0075; Thu, 22 Jul 2021 03:45:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 777E96B0078; Thu, 22 Jul 2021 03:45:48 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0228.hostedemail.com [216.40.44.228]) by kanga.kvack.org (Postfix) with ESMTP id 5A6746B0074 for ; Thu, 22 Jul 2021 03:45:48 -0400 (EDT) Received: from smtpin08.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id 031A78249980 for ; Thu, 22 Jul 2021 07:45:48 +0000 (UTC) X-FDA: 78389439576.08.2E8C325 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf15.hostedemail.com (Postfix) with ESMTP id 3F360D00BD2D for ; Thu, 22 Jul 2021 07:45:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1626939946; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=fQbFrR8ICe6f4hwDSR7XnZ4TZ/I96RPWGlnwYnqKWKc=; b=XkcdJa7EkE/1YFXzVPr7HVZFk2Q1REH120LJ76Jl9WMeQgEesPp0XR0arumgDibP3w2Cam ePwOkuJRRnsYlL2vSegzX+I7n+jPlnK4nFE/WoJIspKHmdpP16OXIoXLl3bf2o8rax3EoL EXp6AcBIQ2HAfAIXpKe9tXI6CBcVEUE= Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-500-pmem2NM5PAO0I3gChW2vUQ-1; Thu, 22 Jul 2021 03:45:45 -0400 X-MC-Unique: pmem2NM5PAO0I3gChW2vUQ-1 Received: by mail-wr1-f72.google.com with SMTP id 5-20020a0560001565b029013fe432d176so2101271wrz.23 for ; Thu, 22 Jul 2021 00:45:45 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:cc:references:from:organization:subject :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=fQbFrR8ICe6f4hwDSR7XnZ4TZ/I96RPWGlnwYnqKWKc=; b=ua7miQLLxMEgnG1YlIdFoQQZ81vbJIas1Eqn2gyscYZogRhx0M2wR5f79vNC5BajGb okitqCQMXAYeFGk2CahtFEesJFiLNjkMwN5CjLVN1y+n09tayA/Dqjll6q6LcaNZdxSN 6wPYh0uqth3w/RTbENOOUQXMb7I7iZb7CQeJouPAEZJy584lMF/VfuNciqpmBWj0Gogo U1/RIeOttPmUPgQTGFT4KJAa9KgVxe0pqL3vk3D9s8LGKXZfRUmKPT6GOnwpdvtZIz1W XQ1V3ljyJxmGcNrOvhY+e3p3+yNCz2JlGU+YzvQeQpjzAHd9Yfnj7oINUxur1THnQj5J 8Kpg== X-Gm-Message-State: AOAM531zBP7cvIa7xJqSx4+/ef45Nz3Enxq8kuGvY03RJjRdQpPlwSJf kN0z6ynTecWqlcoPLR7lHNE7hXNkXsC5UwBJB1MTtHRfEB5Bbj67IcamVBiTDnXzUSZk/B6N7vB 333JS840Sgks= X-Received: by 2002:adf:9bd7:: with SMTP id e23mr47724176wrc.349.1626939944207; Thu, 22 Jul 2021 00:45:44 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyyj/MqcBTyAhaFv6JVF9pw5A4aPF8yIJ55K25C05arJo0Ih3l1nU6gs8GsRcD8DSEDIGWRmA== X-Received: by 2002:adf:9bd7:: with SMTP id e23mr47724149wrc.349.1626939944019; Thu, 22 Jul 2021 00:45:44 -0700 (PDT) Received: from [192.168.3.132] (p5b0c6970.dip0.t-ipconnect.de. [91.12.105.112]) by smtp.gmail.com with ESMTPSA id d24sm1869662wmb.42.2021.07.22.00.45.42 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 22 Jul 2021 00:45:43 -0700 (PDT) To: Suren Baghdasaryan Cc: Andrew Morton , Michal Hocko , Michal Hocko , David Rientjes , Matthew Wilcox , Johannes Weiner , Roman Gushchin , Rik van Riel , Minchan Kim , Christian Brauner , Christoph Hellwig , Oleg Nesterov , Jann Horn , Shakeel Butt , Andy Lutomirski , Christian Brauner , Florian Weimer , Jan Engelhardt , Tim Murray , Linux API , linux-mm , LKML , kernel-team References: <20210718214134.2619099-1-surenb@google.com> <20210718214134.2619099-2-surenb@google.com> <6ab82426-ddbd-7937-3334-468f16ceedab@redhat.com> From: David Hildenbrand Organization: Red Hat Subject: Re: [PATCH v2 2/3] mm: introduce process_mrelease system call Message-ID: <472b91d2-d678-2d54-b2d0-8618f32e6e69@redhat.com> Date: Thu, 22 Jul 2021 09:45:42 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 3F360D00BD2D X-Stat-Signature: sipgqosn58khfu4e541u1pobc83bietj Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=XkcdJa7E; dmarc=pass (policy=none) header.from=redhat.com; spf=none (imf15.hostedemail.com: domain of david@redhat.com has no SPF policy when checking 170.10.133.124) smtp.mailfrom=david@redhat.com X-HE-Tag: 1626939947-517022 Content-Transfer-Encoding: quoted-printable 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: >>> Getting a hold of the mm and locking the mmap_lock would be sufficien= t I guess. >=20 > That's exactly what I do here. The simplified sequence is: >=20 > task_lock > if (task_will_free_mem()) > mm=3Dmmget() > task_unlock > if (!mm) return; >=20 > mmap_read_lock(mm) > __oom_reap_task_mm(mm) > mmap_read_unlock(mm) > mmput(mm) >=20 > Or did I misunderstand your comments? Oh, sorry, my tired eyes confused "put_task_struct()" with=20 "task_unlock()" and even "mmget()" with "mmgrab()" ... So this is essentially get_task_mm() with an additional=20 task_will_free_mem() check. LGHTM! :) --=20 Thanks, David / dhildenb