lkml.org 
[lkml]   [2009]   [Oct]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 0/3] extend get/setrlimit to support setting rlimits external to a process (v3)
    Ok, heres attempt number 3, in response to your thoughts and concerns Andrew.

    Change Notes:
    1) Kept ability to set/get rlimits via /proc/pid/limits as in the previous
    patches

    2) Augmented the patchset with 2 new syscall defines, getprlimit and setprlimit,
    which take a pid_t as an additional argument, allowing a user to specify a
    process id for the rlimits in question. The core code for setting rlimits is
    shared with the previous patch, and is in do_setrlimit, so that all the security
    checks and such remain unaltered.

    3) Add syscall numbers to asm-generic/unistd.h so that any arch using the
    generic syscall code picks up these new syscalls. I figure I don't have access
    to systems that don't use that code, so I should probably leave those changes up
    to the arch maintainers.


    Summary

    Its been requested often that we have the ability to read and modify process
    rlimit values from contexts external to the owning process. Ideally this allows
    sysadmins to adjust rlimits on long running processes wihout the need to stop
    and restart those processes, which incurs undesireable downtime. This patch
    enables that functionality, It does so in two places. First it enables process
    limit setting by writing to the /proc/pid/limits file a string in the format:
    <limit> <current limit> <max limit> > /proc/<pid>/limits
    where limit is one of
    [as,core,cpu,data,fsize,locks,memlock,msgqueue,nice,nofile,nproc,rss,rtprio,rttime]

    Secondly it allows for programatic setting of these limits via 2 new syscalls,
    getprlimit, and setprlimit, which act in an identical fashion to getrlimit and
    setrlimit respectively, except that they except a process id as an extra
    argument, to specify the process id of the rlimit values that you wish to
    read/write

    Signed-off-by: Neil Horman <nhorman@tuxdriver.com>



    \
     
     \ /
      Last update: 2009-10-01 19:17    [W:4.352 / U:0.120 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site