Re: [PATCH 0/3] extend get/setrlimit to support setting rlimitsexternal to a process (v5)

From: Neil Horman
Date: Mon Oct 12 2009 - 12:15:16 EST


Ok, Sorry for the delay, I had several other items that I needed to finish.
Version 5 of this patch set taking Marcins notes into account

Change Notes:

1) Fixed up various buffer leaks, sizings, and other misc. items that Marcin
pointed out in his last post to this thread

2) Added documentation in Documentation/filesystems/proc.txt so that users
would have a better idea about how to use the proc interface here (I figured
that the syscall interface would be rather self explanitory and get augmented
into the man pages soon enough)

Neil


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@xxxxxxxxxxxxx>


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/