From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755997AbcHVOhm (ORCPT ); Mon, 22 Aug 2016 10:37:42 -0400 Received: from bhuna.collabora.co.uk ([46.235.227.227]:35769 "EHLO bhuna.collabora.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751774AbcHVOhl (ORCPT ); Mon, 22 Aug 2016 10:37:41 -0400 Subject: Re: [PACTH v2 0/3] Implement /proc//totmaps To: Minchan Kim , Michal Hocko References: <20160817093125.GA27782@pc.thejh.net> <20160817130320.GC20703@dhcp22.suse.cz> <20160818074433.GC30162@dhcp22.suse.cz> <20160818180104.GS30162@dhcp22.suse.cz> <20160819022634.GA14206@bbox> <20160819080532.GC32619@dhcp22.suse.cz> <20160822000745.GA21441@bbox> <20160822074052.GC13596@dhcp22.suse.cz> <20160822141241.GA3464@blaptop> Cc: Sonny Rao , Jann Horn , corbet@lwn.net, Andrew Morton , Vlastimil Babka , Konstantin Khlebnikov , Hugh Dickins , Naoya Horiguchi , John Stultz , ross.zwisler@linux.intel.com, jmarchan@redhat.com, Johannes Weiner , Kees Cook , Al Viro , Cyrill Gorcunov , Robin Humble , David Rientjes , eric.engestrom@imgtec.com, Janis Danisevskis , calvinowens@fb.com, Alexey Dobriyan , "Kirill A. Shutemov" , ldufour@linux.vnet.ibm.com, linux-doc@vger.kernel.org, "linux-kernel@vger.kernel.org" , Ben Zhang , Bryan Freed , Filipe Brandenburger , Mateusz Guzik From: Robert Foss Message-ID: <101b06c8-20aa-49d0-ffcc-fec3e04b2247@collabora.com> Date: Mon, 22 Aug 2016 10:37:26 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: <20160822141241.GA3464@blaptop> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2016-08-22 10:12 AM, Minchan Kim wrote: > On Mon, Aug 22, 2016 at 09:40:52AM +0200, Michal Hocko wrote: >> On Mon 22-08-16 09:07:45, Minchan Kim wrote: >> [...] >>> #!/bin/sh >>> ./smap_test & >>> pid=$! >>> >>> for i in $(seq 25) >>> do >>> awk '/^Rss/{rss+=$2} /^Pss/{pss+=$2} END {}' \ >>> /proc/$pid/smaps >>> done >>> kill $pid >>> >>> root@bbox:/home/barrios/test/smap# time ./s.sh >>> pid:21973 >>> >>> real 0m17.812s >>> user 0m12.612s >>> sys 0m5.187s >> >> retested on the bare metal (x86_64 - 2CPUs) >> Command being timed: "sh s.sh" >> User time (seconds): 0.00 >> System time (seconds): 18.08 >> Percent of CPU this job got: 98% >> Elapsed (wall clock) time (h:mm:ss or m:ss): 0:18.29 >> >> multiple runs are quite consistent in those numbers. I am running with >> $ awk --version >> GNU Awk 4.1.3, API: 1.1 (GNU MPFR 3.1.4, GNU MP 6.1.0) >> $ ./smap_test & pid:19658 nr_vma:65514 $ time awk '/^Rss/{rss+=$2} /^Pss/{pss+=$2} END {printf "rss:%d pss:%d\n", rss, pss}' /proc/19658/smaps rss:263452 pss:262151 real 0m0.625s user 0m0.404s sys 0m0.216s $ awk --version GNU Awk 4.1.3, API: 1.1 (GNU MPFR 3.1.4, GNU MP 6.1.0) >>>> like a problem we are not able to address. And I would even argue that >>>> we want to address it in a generic way as much as possible. >>> >>> Sure. What solution do you think as generic way? >> >> either optimize seq_printf or replace it with something faster. > > If it's real culprit, I agree. However, I tested your test program on > my 2 x86 machines and my friend's machine. > > Ubuntu, Fedora, Arch > > They have awk 4.0.1 and 4.1.3. > > Result are same. Userspace speand more times I mentioned. > > [root@blaptop smap_test]# time awk '/^Rss/{rss+=$2} /^Pss/{pss+=$2} END {printf "rss:%d pss:%d\n", rss, pss}' /proc/3552/smaps > rss:263484 pss:262188 > > real 0m0.770s > user 0m0.574s > sys 0m0.197s > > I will attach my test progrma source. > I hope you guys test and repost the result because it's the key for direction > of patchset. > > Thanks. >