From patchwork Tue Jul 3 07:36:45 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vlastimil Babka X-Patchwork-Id: 10503317 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id DC17D6028F for ; Tue, 3 Jul 2018 07:36:51 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C701D283E8 for ; Tue, 3 Jul 2018 07:36:51 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id B9C2C2853E; Tue, 3 Jul 2018 07:36:51 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00, MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E951C283E8 for ; Tue, 3 Jul 2018 07:36:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AAD736B0003; Tue, 3 Jul 2018 03:36:49 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id A5D156B0005; Tue, 3 Jul 2018 03:36:49 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 925846B0006; Tue, 3 Jul 2018 03:36:49 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pg0-f71.google.com (mail-pg0-f71.google.com [74.125.83.71]) by kanga.kvack.org (Postfix) with ESMTP id 5357D6B0003 for ; Tue, 3 Jul 2018 03:36:49 -0400 (EDT) Received: by mail-pg0-f71.google.com with SMTP id u130-v6so630242pgc.0 for ; Tue, 03 Jul 2018 00:36:49 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-original-authentication-results:x-gm-message-state:subject:to:cc :references:from:openpgp:autocrypt:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=e9Y0dNNDBLnE+UVqCfEXtvFnz8TbJaOg5+yjUosu40U=; b=Tcmc3o80m/P2P7SCvXDaxlfUNqPwW2tB7tNdh5JI5B7tYjglnHuwzuvAVjeKojthri 3qyQ4/tZf30nTM3kcCqTYeo2DFIg+JlR6A6DchYcdqcJkN23TNBKt0+3pSPm5fc8X1lu r9xG6ocPKeWuzAidvMxjqNb9/LLDqLLkguhjHMkWDWN412cghGkXfAoylb2eiOdKy9+g LW2w7Rz6H/j3TwyBWUuHQKb9K2+RjEwyuKPPBo18bNHaj/HhRLylz8TkAIt0D4uptkrH UDpC1UFM7bgeo4bTx5rw5z2HOcuxJ9FeAjEzia9CeXqxR2F3C6r/mg0WO9DWvw8YF+ht DfLQ== X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of vbabka@suse.cz designates 195.135.220.15 as permitted sender) smtp.mailfrom=vbabka@suse.cz X-Gm-Message-State: APt69E2nXUqAaqVD6KucTlT3QVMNsixwedZK/XylcFAbwkNaFmErGzL5 pUSaWnGJ8F1CxyVBooy/cqylyf9ssFLoQi4h5pGX2ZSBPyQqfh5lJzk9Is4HXlM9thDJwcFgxDT 3s9KyEE6hfNkNEwvXg/vHAOABXAUoHWdLi7rd+8PQcJaJSrYf34OWGxAZSrY1pr+Uww== X-Received: by 2002:a17:902:f83:: with SMTP id 3-v6mr28644757plz.282.1530603408979; Tue, 03 Jul 2018 00:36:48 -0700 (PDT) X-Google-Smtp-Source: ADUXVKLBF0nBoaMQKwPgI1qGpeKo/RpMkPhkPAVqE4Ewpi+SJADBlNn3MM2feMRPl6QO4huQf+qj X-Received: by 2002:a17:902:f83:: with SMTP id 3-v6mr28644719plz.282.1530603407881; Tue, 03 Jul 2018 00:36:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1530603407; cv=none; d=google.com; s=arc-20160816; b=uCO+VEFXmk8NAW9teLW9w9igLEfHW1UNa0NYiUD6bEI169iP5ng+tykmOD7A0B6o4Y /5QnVchANNWrbWBpVNzfV93lO6NRyb9SoSbX+udOFkHFrxp+yahJ+g2U2W1O00L0ZQ8Z k1AwEE3Pn/AsaBcCBXm+AjmhSF3lUvaWy0Ef0b/1fzlG6K9dzX6iIaH39xxWF2+UMlG9 0NwaGJCgO4mQqTU5Ud1LOccZCTCdIPh5R7LyVCtPxHFQg41FZ1Oy03Vr3yVGSXLSSL5w ogDXm8gzgAAKuWPenWWlVSJSXagXAqSxiQ/PMfMLSEgzAxfjwJ9SU4s1drcGhJegMCrJ 3fWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:content-language:in-reply-to:mime-version :user-agent:date:message-id:autocrypt:openpgp:from:references:cc:to :subject:arc-authentication-results; bh=e9Y0dNNDBLnE+UVqCfEXtvFnz8TbJaOg5+yjUosu40U=; b=HZrPIWrYKeSI/N1JL7sJT2zPDEBvfflGhtMJgwCko0kSmLn/q8grdMvVhKFNHarO8w PBQcjAjR2HagcvLZeWEKr1uEGYxnOy8CXYY3tNBojskkUUYFQ9j70jDlEZCVhNDtBwCZ 71ECAU/LcYuy5NtqvFVy4kgGey3doLZzANapjrUv7VvhH0h6neMc4lanBHDicDfDKl8X RhnieXBMHla5fb81sTjwwoQvRJk2YiwOvw2ClNP2TlKYEqSsJp4EJnmRSp1SIGPMX4+g QL8b6SMWf16wrRk0N9zW6at7F0LIu6W9270GOv/YyJP4HLzVs9NOY+xTp9H27KNgu9ca +LNw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of vbabka@suse.cz designates 195.135.220.15 as permitted sender) smtp.mailfrom=vbabka@suse.cz Received: from mx1.suse.de (mx2.suse.de. [195.135.220.15]) by mx.google.com with ESMTPS id z10-v6si535231plo.303.2018.07.03.00.36.47 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 03 Jul 2018 00:36:47 -0700 (PDT) Received-SPF: pass (google.com: domain of vbabka@suse.cz designates 195.135.220.15 as permitted sender) client-ip=195.135.220.15; Authentication-Results: mx.google.com; spf=pass (google.com: domain of vbabka@suse.cz designates 195.135.220.15 as permitted sender) smtp.mailfrom=vbabka@suse.cz X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay1.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id B43D8AE06; Tue, 3 Jul 2018 07:36:45 +0000 (UTC) Subject: Re: [REGRESSION] "Locked" and "Pss" in /proc/*/smaps are the same To: Thomas Lindroth , dancol@google.com, Andrew Morton Cc: linux-api@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm References: <69eb77f7-c8cc-fdee-b44f-ad7e522b8467@gmail.com> From: Vlastimil Babka Openpgp: preference=signencrypt Autocrypt: addr=vbabka@suse.cz; prefer-encrypt=mutual; keydata= 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 cqmP8roqufIAj+Ohhzs= Message-ID: Date: Tue, 3 Jul 2018 09:36:45 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: <69eb77f7-c8cc-fdee-b44f-ad7e522b8467@gmail.com> Content-Language: en-US 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: X-Virus-Scanned: ClamAV using ClamSMTP +CC On 07/01/2018 08:31 PM, Thomas Lindroth wrote: > While looking around in /proc on my v4.14.52 system I noticed that > all processes got a lot of "Locked" memory in /proc/*/smaps. A lot > more memory than a regular user can usually lock with mlock(). > > commit 493b0e9d945fa9dfe96be93ae41b4ca4b6fdb317 (v4.14-rc1) seems > to have changed the behavior of "Locked". > > commit 493b0e9d945fa9dfe96be93ae41b4ca4b6fdb317 > Author: Daniel Colascione > Date: Wed Sep 6 16:25:08 2017 -0700 > > mm: add /proc/pid/smaps_rollup > > Before that commit the code was like this. Notice the VM_LOCKED > check. > > seq_printf(m, > "Size: %8lu kB\n" > "Rss: %8lu kB\n" > "Pss: %8lu kB\n" > "Shared_Clean: %8lu kB\n" > "Shared_Dirty: %8lu kB\n" > "Private_Clean: %8lu kB\n" > "Private_Dirty: %8lu kB\n" > "Referenced: %8lu kB\n" > "Anonymous: %8lu kB\n" > "LazyFree: %8lu kB\n" > "AnonHugePages: %8lu kB\n" > "ShmemPmdMapped: %8lu kB\n" > "Shared_Hugetlb: %8lu kB\n" > "Private_Hugetlb: %7lu kB\n" > "Swap: %8lu kB\n" > "SwapPss: %8lu kB\n" > "KernelPageSize: %8lu kB\n" > "MMUPageSize: %8lu kB\n" > "Locked: %8lu kB\n", > (vma->vm_end - vma->vm_start) >> 10, > mss.resident >> 10, > (unsigned long)(mss.pss >> (10 + PSS_SHIFT)), > mss.shared_clean >> 10, > mss.shared_dirty >> 10, > mss.private_clean >> 10, > mss.private_dirty >> 10, > mss.referenced >> 10, > mss.anonymous >> 10, > mss.lazyfree >> 10, > mss.anonymous_thp >> 10, > mss.shmem_thp >> 10, > mss.shared_hugetlb >> 10, > mss.private_hugetlb >> 10, > mss.swap >> 10, > (unsigned long)(mss.swap_pss >> (10 + PSS_SHIFT)), > vma_kernel_pagesize(vma) >> 10, > vma_mmu_pagesize(vma) >> 10, > (vma->vm_flags & VM_LOCKED) ? > (unsigned long)(mss.pss >> (10 + PSS_SHIFT)) : 0); > > After that commit Locked is now the same as Pss. This looks like a > mistake. > > seq_printf(m, > "Rss: %8lu kB\n" > "Pss: %8lu kB\n" > "Shared_Clean: %8lu kB\n" > "Shared_Dirty: %8lu kB\n" > "Private_Clean: %8lu kB\n" > "Private_Dirty: %8lu kB\n" > "Referenced: %8lu kB\n" > "Anonymous: %8lu kB\n" > "LazyFree: %8lu kB\n" > "AnonHugePages: %8lu kB\n" > "ShmemPmdMapped: %8lu kB\n" > "Shared_Hugetlb: %8lu kB\n" > "Private_Hugetlb: %7lu kB\n" > "Swap: %8lu kB\n" > "SwapPss: %8lu kB\n" > "Locked: %8lu kB\n", > mss->resident >> 10, > (unsigned long)(mss->pss >> (10 + PSS_SHIFT)), > mss->shared_clean >> 10, > mss->shared_dirty >> 10, > mss->private_clean >> 10, > mss->private_dirty >> 10, > mss->referenced >> 10, > mss->anonymous >> 10, > mss->lazyfree >> 10, > mss->anonymous_thp >> 10, > mss->shmem_thp >> 10, > mss->shared_hugetlb >> 10, > mss->private_hugetlb >> 10, > mss->swap >> 10, > (unsigned long)(mss->swap_pss >> (10 + PSS_SHIFT)), > (unsigned long)(mss->pss >> (10 + PSS_SHIFT))); > > The latest git has changed a bit but the functionality is the > same. ----8<---- From fa721521c981167c24ac8f4be446443d293d741e Mon Sep 17 00:00:00 2001 From: Vlastimil Babka Date: Tue, 3 Jul 2018 09:24:27 +0200 Subject: [PATCH] mm: fix Locked field in /proc/pid/smaps* Thomas reports: : While looking around in /proc on my v4.14.52 system I noticed that : all processes got a lot of "Locked" memory in /proc/*/smaps. A lot : more memory than a regular user can usually lock with mlock(). : : commit 493b0e9d945fa9dfe96be93ae41b4ca4b6fdb317 (v4.14-rc1) seems : to have changed the behavior of "Locked". : : Before that commit the code was like this. Notice the VM_LOCKED : check. : : (vma->vm_flags & VM_LOCKED) ? : (unsigned long)(mss.pss >> (10 + PSS_SHIFT)) : 0); : : After that commit Locked is now the same as Pss. This looks like a : mistake. : : (unsigned long)(mss->pss >> (10 + PSS_SHIFT))); Indeed, the commit has added mss->pss_locked with the correct value that depends on VM_LOCKED, but forgot to actually use it. Fix it. Fixes: 493b0e9d945f ("mm: add /proc/pid/smaps_rollup") Reported-by: Thomas Lindroth Signed-off-by: Vlastimil Babka Cc: stable@vger.kernel.org --- fs/proc/task_mmu.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c index e9679016271f..dfd73a4616ce 100644 --- a/fs/proc/task_mmu.c +++ b/fs/proc/task_mmu.c @@ -831,7 +831,8 @@ static int show_smap(struct seq_file *m, void *v, int is_pid) SEQ_PUT_DEC(" kB\nSwap: ", mss->swap); SEQ_PUT_DEC(" kB\nSwapPss: ", mss->swap_pss >> PSS_SHIFT); - SEQ_PUT_DEC(" kB\nLocked: ", mss->pss >> PSS_SHIFT); + SEQ_PUT_DEC(" kB\nLocked: ", + mss->pss_locked >> PSS_SHIFT); seq_puts(m, " kB\n"); } if (!rollup_mode) {