Received: by 2002:a25:d7c1:0:0:0:0:0 with SMTP id o184csp3761079ybg; Mon, 28 Oct 2019 18:58:45 -0700 (PDT) X-Google-Smtp-Source: APXvYqwahV7L7q9lqXSNWL+wDyGXAfR0nXeWKnr8RIGtzGOGtFFuRIJIO4hrgHHrym2uQipI5tUY X-Received: by 2002:aa7:c1cb:: with SMTP id d11mr23183461edp.40.1572314325831; Mon, 28 Oct 2019 18:58:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1572314325; cv=none; d=google.com; s=arc-20160816; b=pt2YI4RjZ8IpbPE10lt+vWUBL12mRljT9x5tNyuO1CQlbUVM2oLdb3lCATKO/8x6q3 HdA04kauL25DL0S1PHNLK3WxqmkEqt8OgYSkIbcuXbfXeAgv13qnBWvDAFKBh1wJepU2 i5c1pzPPicYrMOwM8yZWGIRVADjg4EdypBbU7EytHNVgPo+MOOZH0dnqvYq6hPpu7Js1 pGq1qWUybaHYK4do4poPVJcFvjqGpMHImOm1xCALCKnuIjxYoxzTxun+KLT20N23VvJH gYYvqqjHHYC58sxd6gcs/cGGtpJW03M6ekO/QrPg8acn/hCOgeI6maYOTW8ocBop8gBu 5dJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature; bh=nbn/F7ubzB3gfFhaClCiJKA9kSdMFcCRJXW6XjKJ3bE=; b=B4QR1c9jfmWUqPAKlyUmyzucEzIeX12wlkxmDrEINCqn54Chj7bapMklJaxY8aYwCu tlCYJy6KxLE+8cGeYbfYenziSGKt3uKuyAOV/dA9f/XCCMSOuLIGoAhKi2rU0OZehDc+ 878F+CNnK4uBiqnb6ceoy95OOxHsVhXwreGK2e9nVqs3NstzqHTpcC7nvDi2LaiZOE+l 5u9MjwcVgg+jyJFx0LoQp4+TEwrLHQ4SWIAfQ4rIb2fnFUif4iqtO1uHSqdGLQDNlumE UgYnEEEQFb93LU3Nl3+zdvXgWzfPOF9K2quf5pfGWnFXSLqZEg7SRO4FoPfb0WlsX20I hmew== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@yandex-team.ru header.s=default header.b=AgS1a0L3; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=yandex-team.ru Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s6si9426364edi.154.2019.10.28.18.58.22; Mon, 28 Oct 2019 18:58:45 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@yandex-team.ru header.s=default header.b=AgS1a0L3; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=yandex-team.ru Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728801AbfJ1Mtw (ORCPT + 99 others); Mon, 28 Oct 2019 08:49:52 -0400 Received: from forwardcorp1j.mail.yandex.net ([5.45.199.163]:59760 "EHLO forwardcorp1j.mail.yandex.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726940AbfJ1Mtw (ORCPT ); Mon, 28 Oct 2019 08:49:52 -0400 Received: from mxbackcorp2j.mail.yandex.net (mxbackcorp2j.mail.yandex.net [IPv6:2a02:6b8:0:1619::119]) by forwardcorp1j.mail.yandex.net (Yandex) with ESMTP id 399322E133F; Mon, 28 Oct 2019 15:49:49 +0300 (MSK) Received: from iva8-b53eb3f76dc7.qloud-c.yandex.net (iva8-b53eb3f76dc7.qloud-c.yandex.net [2a02:6b8:c0c:2ca1:0:640:b53e:b3f7]) by mxbackcorp2j.mail.yandex.net (nwsmtp/Yandex) with ESMTP id g0lC5DUKiH-nleeAlQ6; Mon, 28 Oct 2019 15:49:49 +0300 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex-team.ru; s=default; t=1572266989; bh=nbn/F7ubzB3gfFhaClCiJKA9kSdMFcCRJXW6XjKJ3bE=; h=In-Reply-To:Message-ID:From:Date:References:To:Subject:Cc; b=AgS1a0L35oEfSF2W145KMr2NS22+HqFpzkEHWNHtZBmZ6+a8TjL5D5FmYVaSNn3zL 1z9J1W+bXi5/CtTNqSjpRts69KOOvvYXb6exfk+qeZjU/fHEakbwRa+x2uo8bNu24E +x8kyu4atWJrzHHUh40lt8QKWc9TssRTROgEDKiM= Authentication-Results: mxbackcorp2j.mail.yandex.net; dkim=pass header.i=@yandex-team.ru Received: from dynamic-red.dhcp.yndx.net (dynamic-red.dhcp.yndx.net [2a02:6b8:0:40c:148a:8f3:5b61:9f4]) by iva8-b53eb3f76dc7.qloud-c.yandex.net (nwsmtp/Yandex) with ESMTPSA id qg1g0pXFHn-nkWmd21h; Mon, 28 Oct 2019 15:49:47 +0300 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client certificate not present) Subject: Re: [PATCH RFC] fs/fcntl: add fcntl F_GET_RSS To: Linus Torvalds Cc: linux-fsdevel , Linux-MM , Linux Kernel Mailing List , Linux API , Michal Hocko , Alexander Viro , Johannes Weiner , Andrew Morton , Roman Gushchin References: <157225848971.557.16257813537984792761.stgit@buzz> From: Konstantin Khlebnikov Message-ID: <03f36def-746e-063b-7c42-91244eec87bd@yandex-team.ru> Date: Mon, 28 Oct 2019 15:49:44 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-CA Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 28/10/2019 15.27, Linus Torvalds wrote: > On Mon, Oct 28, 2019 at 11:28 AM Konstantin Khlebnikov > wrote: >> >> This implements fcntl() for getting amount of resident memory in cache. >> Kernel already maintains counter for each inode, this patch just exposes >> it into userspace. Returned size is in kilobytes like values in procfs. > > This doesn't actually explain why anybody would want it, and what the > usage scenario is. > This really helps to plot memory usage distribution. Right now file cache have only total counters. Collecting statistics via mincore as implemented in page-types tool isn't efficient and very racy. Usage scenario is the same as finding top memory usage among processes. But among files which are not always mapped anywhere. For example if somebody writes\reads logs too intensive this file cache could bloat and push more important data out out memory. Also little bit of introspection wouldn't hurt. Using this I've found unneeded pages beyond i_size. > Linus >