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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.