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=-2.1 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,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 C77C8C54FCE for ; Tue, 24 Mar 2020 11:37:50 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 7CB28208CA for ; Tue, 24 Mar 2020 11:37:50 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b="DSkBFf6j" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7CB28208CA Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=samsung.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 24CF36B0005; Tue, 24 Mar 2020 07:37:50 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1D8A06B0006; Tue, 24 Mar 2020 07:37:50 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 077FD6B0007; Tue, 24 Mar 2020 07:37:50 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0189.hostedemail.com [216.40.44.189]) by kanga.kvack.org (Postfix) with ESMTP id DF4976B0005 for ; Tue, 24 Mar 2020 07:37:49 -0400 (EDT) Received: from smtpin17.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id A438216E2B for ; Tue, 24 Mar 2020 11:37:49 +0000 (UTC) X-FDA: 76630056258.17.straw24_7e613083ff251 X-HE-Tag: straw24_7e613083ff251 X-Filterd-Recvd-Size: 9702 Received: from mailout1.samsung.com (mailout1.samsung.com [203.254.224.24]) by imf39.hostedemail.com (Postfix) with ESMTP for ; Tue, 24 Mar 2020 11:37:48 +0000 (UTC) Received: from epcas1p1.samsung.com (unknown [182.195.41.45]) by mailout1.samsung.com (KnoxPortal) with ESMTP id 20200324113744epoutp01b6a435df1668299062d5fed454112dcb~-OnQz9t0d1573715737epoutp01C for ; Tue, 24 Mar 2020 11:37:44 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.samsung.com 20200324113744epoutp01b6a435df1668299062d5fed454112dcb~-OnQz9t0d1573715737epoutp01C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1585049864; bh=JgArrA3uQGXN7tH4LXkGzWxmGt7NEFtzC40fxAIIJQg=; h=Subject:To:Cc:From:Date:In-Reply-To:References:From; b=DSkBFf6jpZ3QmdTeckXSTxP3icJbuh9wu9nZP6gIXLHdpQ5jlDu5hrhE5/1oy/03j y+ZTqzoX2LYy0egQFrIwqFMQXDy9FRcyJX9kOmXR9m5GtiR5/df7cL7NC0WxjwIYD1 eHhXr4XyN4LW10ALPXpcFfuXzqycCh+P0mmfi4RY= Received: from epsnrtp3.localdomain (unknown [182.195.42.164]) by epcas1p1.samsung.com (KnoxPortal) with ESMTP id 20200324113743epcas1p116ddec95a2720d6e171137d6bb9bec7d~-OnP0Noov1286112861epcas1p18; Tue, 24 Mar 2020 11:37:43 +0000 (GMT) Received: from epsmges1p5.samsung.com (unknown [182.195.40.163]) by epsnrtp3.localdomain (Postfix) with ESMTP id 48mq452dFJzMqYkV; Tue, 24 Mar 2020 11:37:41 +0000 (GMT) Received: from epcas1p3.samsung.com ( [182.195.41.47]) by epsmges1p5.samsung.com (Symantec Messaging Gateway) with SMTP id 36.77.04074.501F97E5; Tue, 24 Mar 2020 20:37:41 +0900 (KST) Received: from epsmtrp2.samsung.com (unknown [182.195.40.14]) by epcas1p1.samsung.com (KnoxPortal) with ESMTPA id 20200324113740epcas1p105dbc87fedfa534c2d6b6a8ad515fda0~-OnNQvG9S1286112861epcas1p15; Tue, 24 Mar 2020 11:37:40 +0000 (GMT) Received: from epsmgms1p1new.samsung.com (unknown [182.195.42.41]) by epsmtrp2.samsung.com (KnoxPortal) with ESMTP id 20200324113740epsmtrp2625c4b6be22228e08fbc7d5e855cf9f0~-OnNP0IS40928509285epsmtrp27; Tue, 24 Mar 2020 11:37:40 +0000 (GMT) X-AuditID: b6c32a39-58bff70000000fea-cc-5e79f1056a6d Received: from epsmtip2.samsung.com ( [182.195.34.31]) by epsmgms1p1new.samsung.com (Symantec Messaging Gateway) with SMTP id 15.30.04024.401F97E5; Tue, 24 Mar 2020 20:37:40 +0900 (KST) Received: from [10.253.104.82] (unknown [10.253.104.82]) by epsmtip2.samsung.com (KnoxPortal) with ESMTPA id 20200324113739epsmtip24099d55508e3906a0166054ae6c581a8~-OnL6Llao0410204102epsmtip29; Tue, 24 Mar 2020 11:37:39 +0000 (GMT) Subject: Re: [RFC PATCH v2 1/3] meminfo_extra: introduce meminfo extra To: Greg KH Cc: leon@kernel.org, vbabka@suse.cz, adobriyan@gmail.com, akpm@linux-foundation.org, labbott@redhat.com, sumit.semwal@linaro.org, minchan@kernel.org, ngupta@vflare.org, sergey.senozhatsky.work@gmail.com, kasong@redhat.com, bhe@redhat.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, jaewon31.kim@gmail.com, linux-api@vger.kernel.org, kexec@lists.infradead.org From: Jaewon Kim Message-ID: <5E79F102.9080405@samsung.com> Date: Tue, 24 Mar 2020 20:37:38 +0900 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.7.2 MIME-Version: 1.0 In-Reply-To: <20200324101110.GA2218981@kroah.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrBJsWRmVeSWpSXmKPExsWy7bCmvi7rx8o4gzcd/BbTG70s5qxfw2Zx /sEvNovmxevZLLo3z2S0WP7uNKPF7tNfmSxW7vnBZDHl11Jmi83fO9gsLu+aw2Zxb81/Votl X9+zW2xomcVu8WjCJCaLU3c/s1vMbuxjdBD02DnrLrvHplWdbB6bPk1i97hzbQ+bx4kZv1k8 9s9dw+6xeUm9x/t9V9k8ziw4wu6x89NmVo/Pm+QCuKNybDJSE1NSixRS85LzUzLz0m2VvIPj neNNzQwMdQ0tLcyVFPISc1NtlVx8AnTdMnOAnlJSKEvMKQUKBSQWFyvp29kU5ZeWpCpk5BeX 2CqlFqTkFBgaFOgVJ+YWl+al6yXn51oZGhgYmQJVJuRkvOwTLLgvVXHmx0SWBsYTol2MHBwS AiYST47IdjFycQgJ7GCU2HJpFyuE84lRou/heRYI5xujxJPvH5i7GDnBOhqX32AFsYUE9jJK 3HtqA1H0llHi0Lmj7CAJYQE3iX9bz7OB2CICGhIvj94Cm8Qs8J1J4vjiL0wgCTYBbYn3CyaB TeIV0JJYveI62AYWAVWJvW9vgNmiAhESO+Z+ZISoEZQ4OfMJC4jNKWAo8XPDH7BlzALyEs1b ZzODLJAQOMUu8W7pfiaIU10kOiafg7KFJV4d38IOYUtJfH63lw2ioZlR4u3MzYwQTgujxN1N vYwQVcYSvT0XmEHBxCygKbF+lz5EWFFi5++5jBCb+STefe1hhYQkr0RHmxBEiZpEy7OvrBC2 jMTff8+gSjwkzv9Tg4TWemBArN7AOoFRYRaS32Yh+WcWwuIFjMyrGMVSC4pz01OLDQtMkWN4 EyM4lWtZ7mA8ds7nEKMAB6MSD2/D48o4IdbEsuLK3EOMEhzMSiK8m1Mr4oR4UxIrq1KL8uOL SnNSiw8xmgKDeyKzlGhyPjDP5JXEG5oaGRsbW5iYmZuZGiuJ8069nhMnJJCeWJKanZpakFoE 08fEwSnVwHiw7V369uefJjBsWLQs99nHmwv+yZryrXWwOVJgMf/t+n88KocN9ZvL1xy/8aAg X+6b7uY47r9Wtget/CN/31jwl/2ljuBLhre/+1SlvJtC1k6y8d35zE3kLmv9TfEppv1qfV2l 0+5X6gbeZX5idiKoPHzaqy7uV+eOH+zcscf8kvqPI966D8KUWIozEg21mIuKEwFBKliZ+wMA AA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrFIsWRmVeSWpSXmKPExsWy7bCSvC7Lx8o4g6592hbTG70s5qxfw2Zx /sEvNovmxevZLLo3z2S0WP7uNKPF7tNfmSxW7vnBZDHl11Jmi83fO9gsLu+aw2Zxb81/Votl X9+zW2xomcVu8WjCJCaLU3c/s1vMbuxjdBD02DnrLrvHplWdbB6bPk1i97hzbQ+bx4kZv1k8 9s9dw+6xeUm9x/t9V9k8ziw4wu6x89NmVo/Pm+QCuKO4bFJSczLLUov07RK4Ml72CRbcl6o4 82MiSwPjCdEuRk4OCQETicblN1i7GLk4hAR2M0rc2bydBSIhI/Hm/FMgmwPIFpY4fLgYouY1 o8SW7g4mkBphATeJf1vPs4HYIgIaEi+P3mKBKFrPJLGz9x2YwyzwnUniUt8hsCo2AW2J9wsm sYLYvAJaEqtXXGcGsVkEVCX2vr0BZosKREisXneNGaJGUOLkzCdgF3EKGEr83PCHHcRmFlCX +DPvEjOELS/RvHU28wRGwVlIWmYhKZuFpGwBI/MqRsnUguLc9NxiwwLDvNRyveLE3OLSvHS9 5PzcTYzgGNXS3MF4eUn8IUYBDkYlHl6th5VxQqyJZcWVuYcYJTiYlUR4N6dWxAnxpiRWVqUW 5ccXleakFh9ilOZgURLnfZp3LFJIID2xJDU7NbUgtQgmy8TBKdXAOP1pjNGxW8UvvmlMeskt 2P1n8busvvVP3t1XTDNo6InM/GWTbb/QyiL0g+PtW7m6rRzs+/wDJ9jt3lLAutoj8q/bweik xWVruta2Ht/+9Ycc766dM4873Zn685nwviNB/zgXRDasX2klti7Cae+snXzrDhfeOW5zVWC6 xJVN9h/Loib2GIV2limxFGckGmoxFxUnAgC9Jb9gzQIAAA== X-CMS-MailID: 20200324113740epcas1p105dbc87fedfa534c2d6b6a8ad515fda0 X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-Sendblock-Type: SVC_REQ_APPROVE CMS-TYPE: 101P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20200323080508epcas1p387c9c19b480da53be40fe5d51e76a477 References: <20200323080503.6224-1-jaewon31.kim@samsung.com> <20200323080503.6224-2-jaewon31.kim@samsung.com> <20200323095344.GB425358@kroah.com> <5E79CEB5.8070308@samsung.com> <20200324101110.GA2218981@kroah.com> 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: On 2020=EB=85=84 03=EC=9B=94 24=EC=9D=BC 19:11, Greg KH wrote: > On Tue, Mar 24, 2020 at 06:11:17PM +0900, Jaewon Kim wrote: >> On 2020=EB=85=84 03=EC=9B=94 23=EC=9D=BC 18:53, Greg KH wrote: >>>> +int register_meminfo_extra(atomic_long_t *val, int shift, const cha= r *name) >>>> +{ >>>> + struct meminfo_extra *meminfo, *memtemp; >>>> + int len; >>>> + int error =3D 0; >>>> + >>>> + meminfo =3D kzalloc(sizeof(*meminfo), GFP_KERNEL); >>>> + if (!meminfo) { >>>> + error =3D -ENOMEM; >>>> + goto out; >>>> + } >>>> + >>>> + meminfo->val =3D val; >>>> + meminfo->shift_for_page =3D shift; >>>> + strncpy(meminfo->name, name, NAME_SIZE); >>>> + len =3D strlen(meminfo->name); >>>> + meminfo->name[len] =3D ':'; >>>> + strncpy(meminfo->name_pad, meminfo->name, NAME_BUF_SIZE); >>>> + while (++len < NAME_BUF_SIZE - 1) >>>> + meminfo->name_pad[len] =3D ' '; >>>> + >>>> + spin_lock(&meminfo_lock); >>>> + list_for_each_entry_rcu(memtemp, &meminfo_head, list) { >>>> + if (memtemp->val =3D=3D val) { >>>> + error =3D -EINVAL; >>>> + break; >>>> + } >>>> + } >>>> + if (!error) >>>> + list_add_tail_rcu(&meminfo->list, &meminfo_head); >>>> + spin_unlock(&meminfo_lock); >>> If you have a lock, why are you needing rcu? >> I think _rcu should be removed out of list_for_each_entry_rcu. >> But I'm confused about what you meant. >> I used rcu_read_lock on __meminfo_extra, >> and I think spin_lock is also needed for addition and deletion to hand= le multiple modifiers. > If that's the case, then that's fine, it just didn't seem like that was > needed. Or I might have been reading your rcu logic incorrectly... > >>>> + if (error) >>>> + kfree(meminfo); >>>> +out: >>>> + >>>> + return error; >>>> +} >>>> +EXPORT_SYMBOL(register_meminfo_extra); >>> EXPORT_SYMBOL_GPL()? I have to ask :) >> I can use EXPORT_SYMBOL_GPL. >>> thanks, >>> >>> greg k-h >>> >>> >> Hello >> Thank you for your comment. >> >> By the way there was not resolved discussion on v1 patch as I mentione= d on cover page. >> I'd like to hear your opinion on this /proc/meminfo_extra node. > I think it is the propagation of an old and obsolete interface that you > will have to support for the next 20+ years and yet not actually be > useful :) > >> Do you think this is meaningful or cannot co-exist with other future >> sysfs based API. > What sysfs-based API? Please refer to mail thread on v1 patch set - https://lkml.org/lkml/fancy= /2020/3/10/2102 especially discussion with Leon Romanovsky on https://lkml.org/lkml/fancy= /2020/3/16/140 > > I still don't know _why_ you want this. The ION stuff is not needed as > that code is about to be deleted, so who else wants this? What is the > use-case for it that is so desperately needed that parsing > yet-another-proc file is going to solve the problem? In my Android device, there are graphic driver memory, zsmalloc memory ex= cept ION. I don't know other cases in other platform. Not desperately needed but I think we need one userspace knob to see over= all hidden huge memory. Additionally I'd like to see all those hidden memory in OutOfMemory log. This is useful to get clue to find memory hogger. i.e.) show_mem on oom <6>[ 420.856428] Mem-Info: <6>[ 420.856433] IonSystemHeap:32813kB ZsPages:44114kB GraphicDriver::1= 3091kB <6>[ 420.856450] active_anon:957205 inactive_anon:159383 isolated_anon:= 0 Thank you Jaewon Kim > > thanks, > > greg k-h > >