From: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
To: Ake <Ake.Sandgren@hpc2n.umu.se>
Cc: linux-kernel@vger.kernel.org, Rik van Riel <riel@redhat.com>
Subject: Re: Bug in 2.4.26 in mm/filemap.c when using RLIMIT_RSS
Date: Thu, 27 Jan 2005 05:44:59 -0200 [thread overview]
Message-ID: <20050127074459.GH26308@logos.cnet> (raw)
In-Reply-To: <20050127063849.GA11119@hpc2n.umu.se>
On Thu, Jan 27, 2005 at 07:38:49AM +0100, Ake wrote:
> On Wed, Jan 26, 2005 at 12:49:04PM -0200, Marcelo Tosatti wrote:
> > > There is also a misinformative comment in fs/proc/array.c
> > in proc_pid_stat where it says
> > > mm ? mm->rss : 0, /* you might want to shift this left 3 */
> > > the number 3 should probably be PAGE_SHIFT-10.
>
> Don't forget the comment (it's still there in 2.6) :-)
>
> > Amazing that this has never been noticed before - I bet not many people use RSS
> > limits with madvise().
>
> Neither do we. :-)
>
> I just found it when trying to figure out if the kernel actually used
> any of the rlimits and if so how.
> (Trying to make PBS work correctly)
>
> > This transform the rlimit in pages before the comparison, can you please test
> > it.
> >
> > --- a/mm/filemap.c.orig 2004-11-17 09:54:22.000000000 -0200
> > +++ b/mm/filemap.c 2005-01-26 15:21:10.614842296 -0200
> > @@ -2609,6 +2609,9 @@
> > error = -EIO;
> > rlim_rss = current->rlim ? current->rlim[RLIMIT_RSS].rlim_cur :
> > LONG_MAX; /* default: see resource.h */
> > +
> > + rlim_rss = (rlim_rss & PAGE_MASK) >> PAGE_SHIFT;
> > +
> > if ((vma->vm_mm->rss + (end - start)) > rlim_rss)
> > return error;
>
> Since we don't use it i can't really test it, but a visual inspection is
> good enough in this simple case. And since this is the only place in 2.4
> that RLIMIT_RSS is used, the problem is solved.
>
> BTW do you know if there is any plans for 2.6++ to actually use
> RLIMIT_RSS? I saw a hint in that direction in mm/thrash.c
> grab_swap_token but it is commented out and only skeleton code...
Nope, RLIMIT_RSS does not seem to be used at all in v2.6:
linux-2.6.11-rc1 # findgrep RLIMIT_RSS
./fs/proc/array.c
./include/asm-arm26/resource.h
./include/asm-ia64/resource.h
./include/asm-frv/resource.h
./include/asm-i386/resource.h
./include/asm-alpha/resource.h
./include/asm-ppc64/resource.h
./include/asm-x86_64/resource.h
./include/asm-s390/resource.h
./include/asm-mips/resource.h
./include/asm-sparc64/resource.h
./include/asm-cris/resource.h
./include/asm-v850/resource.h
./include/asm-m68k/resource.h
./include/asm-sparc/resource.h
./include/asm-parisc/resource.h
./include/asm-arm/resource.h
./include/asm-sh/resource.h
./include/asm-m32r/resource.h
./include/asm-h8300/resource.h
./include/asm-ppc/resource.h
> I'm asking since the above code piece has been removed.
Its there for compatibility reasons, support for it might be added
in the future?
next prev parent reply other threads:[~2005-01-27 11:39 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-01-26 11:07 Bug in 2.4.26 in mm/filemap.c when using RLIMIT_RSS Ake
2005-01-26 14:49 ` Marcelo Tosatti
2005-01-27 6:38 ` Ake
2005-01-27 7:44 ` Marcelo Tosatti [this message]
2005-01-28 15:09 ` Hugh Dickins
2005-01-27 18:55 ` Marcelo Tosatti
2005-01-28 6:44 ` Ake
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050127074459.GH26308@logos.cnet \
--to=marcelo.tosatti@cyclades.com \
--cc=Ake.Sandgren@hpc2n.umu.se \
--cc=linux-kernel@vger.kernel.org \
--cc=riel@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox