From mboxrd@z Thu Jan 1 00:00:00 1970 From: Richard Weinberger Subject: Re: [PATCH 00/14] Present useful limits to user (v2) Date: Fri, 15 Jul 2016 16:19:13 +0200 Message-ID: <5788F0E1.8090203@nod.at> References: <1468578983-28229-1-git-send-email-toiwoton@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1468578983-28229-1-git-send-email-toiwoton@gmail.com> Sender: owner-linux-mm@kvack.org To: Topi Miettinen , linux-kernel@vger.kernel.org Cc: Jonathan Corbet , Tony Luck , Fenghua Yu , Alexander Graf , Paolo Bonzini , =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , "maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)" , Doug Ledford , Sean Hefty , Hal Rosenstock , Mike Marciniszyn , Dennis Dalessandro , Christian Benvenuti , Dave Goodell , Sudeep Dutt , Ashutosh Dixit List-Id: linux-rdma@vger.kernel.org Hi! Am 15.07.2016 um 12:35 schrieb Topi Miettinen: > Hello, > > There are many basic ways to control processes, including capabilities, > cgroups and resource limits. However, there are far fewer ways to find out > useful values for the limits, except blind trial and error. > > This patch series attempts to fix that by giving at least a nice starting > point from the highwater mark values of the resources in question. > I looked where each limit is checked and added a call to update the mark > nearby. > > Example run of program from Documentation/accounting/getdelauys.c: > > ./getdelays -R -p `pidof smartd` > printing resource accounting > RLIMIT_CPU=0 > RLIMIT_FSIZE=0 > RLIMIT_DATA=18198528 > RLIMIT_STACK=135168 > RLIMIT_CORE=0 > RLIMIT_RSS=0 > RLIMIT_NPROC=1 > RLIMIT_NOFILE=55 > RLIMIT_MEMLOCK=0 > RLIMIT_AS=130879488 > RLIMIT_LOCKS=0 > RLIMIT_SIGPENDING=0 > RLIMIT_MSGQUEUE=0 > RLIMIT_NICE=0 > RLIMIT_RTPRIO=0 > RLIMIT_RTTIME=0 > > ./getdelays -R -C /sys/fs/cgroup/systemd/system.slice/smartd.service/ > printing resource accounting > sleeping 1, blocked 0, running 0, stopped 0, uninterruptible 0 > RLIMIT_CPU=0 > RLIMIT_FSIZE=0 > RLIMIT_DATA=18198528 > RLIMIT_STACK=135168 > RLIMIT_CORE=0 > RLIMIT_RSS=0 > RLIMIT_NPROC=1 > RLIMIT_NOFILE=55 > RLIMIT_MEMLOCK=0 > RLIMIT_AS=130879488 > RLIMIT_LOCKS=0 > RLIMIT_SIGPENDING=0 > RLIMIT_MSGQUEUE=0 > RLIMIT_NICE=0 > RLIMIT_RTPRIO=0 > RLIMIT_RTTIME=0 > > In this example, smartd is running as a non-root user. The presented > values can be used as a starting point for giving new limits to the > service. I don't think it is worth sprinkling the kernel with update_resource_highwatermark() calls just to get these metrics. Can't we teach the existing perf infrastructure to collect these highwatermarks for us? Thanks, //richard -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Subject: Re: [PATCH 00/14] Present useful limits to user (v2) To: Topi Miettinen , linux-kernel@vger.kernel.org References: <1468578983-28229-1-git-send-email-toiwoton@gmail.com> Cc: Jonathan Corbet , Tony Luck , Fenghua Yu , Alexander Graf , Paolo Bonzini , =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , "maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)" , Doug Ledford , Sean Hefty , Hal Rosenstock , Mike Marciniszyn , Dennis Dalessandro , Christian Benvenuti , Dave Goodell , Sudeep Dutt , Ashutosh Dixit , Alex Williamson , Alexander Viro , Tejun Heo , Li Zefan , Johannes Weiner , Peter Zijlstra , Alexei Starovoitov , Arnaldo Carvalho de Melo , Alexander Shishkin , Balbir Singh , Markus Elfring , "David S. Miller" , Nicolas Dichtel , Andrew Morton , Konstantin Khlebnikov , Jiri Slaby , Cyrill Gorcunov , Michal Hocko , Vlastimil Babka , Dave Hansen , Greg Kroah-Hartman , Dan Carpenter , Michael Kerrisk , "Kirill A. Shutemov" , Marcus Gelderie , Vladimir Davydov , Joe Perches , Frederic Weisbecker , Andrea Arcangeli , "Eric W. Biederman" , Andi Kleen , Oleg Nesterov , Stas Sergeev , Amanieu d'Antras , Wang Xiaoqiang , Helge Deller , Mateusz Guzik , Alex Thorlton , Ben Segall , John Stultz , Rik van Riel , Eric B Munson , Alexey Klimov , Chen Gang , Andrey Ryabinin , David Rientjes , Hugh Dickins , Alexander Kuleshov , "open list:DOCUMENTATION" , "open list:IA64 (Itanium) PLATFORM" , "open list:KERNEL VIRTUAL MACHINE (KVM) FOR POWERPC" , "open list:KERNEL VIRTUAL MACHINE (KVM)" , "open list:LINUX FOR POWERPC (32-BIT AND 64-BIT)" , "open list:INFINIBAND SUBSYSTEM" , "open list:FILESYSTEMS (VFS and infrastructure)" , "open list:CONTROL GROUP (CGROUP)" , "open list:BPF (Safe dynamic programs and tools)" , "open list:MEMORY MANAGEMENT" From: Richard Weinberger Message-ID: <5788F0E1.8090203@nod.at> Date: Fri, 15 Jul 2016 16:19:13 +0200 MIME-Version: 1.0 In-Reply-To: <1468578983-28229-1-git-send-email-toiwoton@gmail.com> Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org List-ID: Hi! Am 15.07.2016 um 12:35 schrieb Topi Miettinen: > Hello, > > There are many basic ways to control processes, including capabilities, > cgroups and resource limits. However, there are far fewer ways to find out > useful values for the limits, except blind trial and error. > > This patch series attempts to fix that by giving at least a nice starting > point from the highwater mark values of the resources in question. > I looked where each limit is checked and added a call to update the mark > nearby. > > Example run of program from Documentation/accounting/getdelauys.c: > > ./getdelays -R -p `pidof smartd` > printing resource accounting > RLIMIT_CPU=0 > RLIMIT_FSIZE=0 > RLIMIT_DATA=18198528 > RLIMIT_STACK=135168 > RLIMIT_CORE=0 > RLIMIT_RSS=0 > RLIMIT_NPROC=1 > RLIMIT_NOFILE=55 > RLIMIT_MEMLOCK=0 > RLIMIT_AS=130879488 > RLIMIT_LOCKS=0 > RLIMIT_SIGPENDING=0 > RLIMIT_MSGQUEUE=0 > RLIMIT_NICE=0 > RLIMIT_RTPRIO=0 > RLIMIT_RTTIME=0 > > ./getdelays -R -C /sys/fs/cgroup/systemd/system.slice/smartd.service/ > printing resource accounting > sleeping 1, blocked 0, running 0, stopped 0, uninterruptible 0 > RLIMIT_CPU=0 > RLIMIT_FSIZE=0 > RLIMIT_DATA=18198528 > RLIMIT_STACK=135168 > RLIMIT_CORE=0 > RLIMIT_RSS=0 > RLIMIT_NPROC=1 > RLIMIT_NOFILE=55 > RLIMIT_MEMLOCK=0 > RLIMIT_AS=130879488 > RLIMIT_LOCKS=0 > RLIMIT_SIGPENDING=0 > RLIMIT_MSGQUEUE=0 > RLIMIT_NICE=0 > RLIMIT_RTPRIO=0 > RLIMIT_RTTIME=0 > > In this example, smartd is running as a non-root user. The presented > values can be used as a starting point for giving new limits to the > service. I don't think it is worth sprinkling the kernel with update_resource_highwatermark() calls just to get these metrics. Can't we teach the existing perf infrastructure to collect these highwatermarks for us? Thanks, //richard -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from radon.swed.at (b.ns.miles-group.at [95.130.255.144]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 3rrZcn64wjzDqF6 for ; Sat, 16 Jul 2016 00:26:17 +1000 (AEST) Subject: Re: [PATCH 00/14] Present useful limits to user (v2) To: Topi Miettinen , linux-kernel@vger.kernel.org References: <1468578983-28229-1-git-send-email-toiwoton@gmail.com> Cc: Jonathan Corbet , Tony Luck , Fenghua Yu , Alexander Graf , Paolo Bonzini , =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , "maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)" , Doug Ledford , Sean Hefty , Hal Rosenstock , Mike Marciniszyn , Dennis Dalessandro , Christian Benvenuti , Dave Goodell , Sudeep Dutt , Ashutosh Dixit , Alex Williamson , Alexander Viro , Tejun Heo , Li Zefan , Johannes Weiner , Peter Zijlstra , Alexei Starovoitov , Arnaldo Carvalho de Melo , Alexander Shishkin , Balbir Singh , Markus Elfring , "David S. Miller" , Nicolas Dichtel , Andrew Morton , Konstantin Khlebnikov , Jiri Slaby , Cyrill Gorcunov , Michal Hocko , Vlastimil Babka , Dave Hansen , Greg Kroah-Hartman , Dan Carpenter , Michael Kerrisk , "Kirill A. Shutemov" , Marcus Gelderie , Vladimir Davydov , Joe Perches , Frederic Weisbecker , Andrea Arcangeli , "Eric W. Biederman" , Andi Kleen , Oleg Nesterov , Stas Sergeev , Amanieu d'Antras , Wang Xiaoqiang , Helge Deller , Mateusz Guzik , Alex Thorlton , Ben Segall , John Stultz , Rik van Riel , Eric B Munson , Alexey Klimov , Chen Gang , Andrey Ryabinin , David Rientjes , Hugh Dickins , Alexander Kuleshov , "open list:DOCUMENTATION" , "open list:IA64 (Itanium) PLATFORM" , "open list:KERNEL VIRTUAL MACHINE (KVM) FOR POWERPC" , "open list:KERNEL VIRTUAL MACHINE (KVM)" , "open list:LINUX FOR POWERPC (32-BIT AND 64-BIT)" , "open list:INFINIBAND SUBSYSTEM" , "open list:FILESYSTEMS (VFS and infrastructure)" , "open list:CONTROL GROUP (CGROUP)" , "open list:BPF (Safe dynamic programs and tools)" , "open list:MEMORY MANAGEMENT" From: Richard Weinberger Message-ID: <5788F0E1.8090203@nod.at> Date: Fri, 15 Jul 2016 16:19:13 +0200 MIME-Version: 1.0 In-Reply-To: <1468578983-28229-1-git-send-email-toiwoton@gmail.com> Content-Type: text/plain; charset=iso-8859-15 List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Hi! Am 15.07.2016 um 12:35 schrieb Topi Miettinen: > Hello, > > There are many basic ways to control processes, including capabilities, > cgroups and resource limits. However, there are far fewer ways to find out > useful values for the limits, except blind trial and error. > > This patch series attempts to fix that by giving at least a nice starting > point from the highwater mark values of the resources in question. > I looked where each limit is checked and added a call to update the mark > nearby. > > Example run of program from Documentation/accounting/getdelauys.c: > > ./getdelays -R -p `pidof smartd` > printing resource accounting > RLIMIT_CPU=0 > RLIMIT_FSIZE=0 > RLIMIT_DATA=18198528 > RLIMIT_STACK=135168 > RLIMIT_CORE=0 > RLIMIT_RSS=0 > RLIMIT_NPROC=1 > RLIMIT_NOFILE=55 > RLIMIT_MEMLOCK=0 > RLIMIT_AS=130879488 > RLIMIT_LOCKS=0 > RLIMIT_SIGPENDING=0 > RLIMIT_MSGQUEUE=0 > RLIMIT_NICE=0 > RLIMIT_RTPRIO=0 > RLIMIT_RTTIME=0 > > ./getdelays -R -C /sys/fs/cgroup/systemd/system.slice/smartd.service/ > printing resource accounting > sleeping 1, blocked 0, running 0, stopped 0, uninterruptible 0 > RLIMIT_CPU=0 > RLIMIT_FSIZE=0 > RLIMIT_DATA=18198528 > RLIMIT_STACK=135168 > RLIMIT_CORE=0 > RLIMIT_RSS=0 > RLIMIT_NPROC=1 > RLIMIT_NOFILE=55 > RLIMIT_MEMLOCK=0 > RLIMIT_AS=130879488 > RLIMIT_LOCKS=0 > RLIMIT_SIGPENDING=0 > RLIMIT_MSGQUEUE=0 > RLIMIT_NICE=0 > RLIMIT_RTPRIO=0 > RLIMIT_RTTIME=0 > > In this example, smartd is running as a non-root user. The presented > values can be used as a starting point for giving new limits to the > service. I don't think it is worth sprinkling the kernel with update_resource_highwatermark() calls just to get these metrics. Can't we teach the existing perf infrastructure to collect these highwatermarks for us? Thanks, //richard