From: Badari Pulavarty <pbadari@us.ibm.com>
To: Jeff Dike <jdike@addtoit.com>
Cc: Hugh Dickins <hugh@veritas.com>, linux-mm <linux-mm@kvack.org>,
dvhltc@us.ibm.com
Subject: Re: [RFC][PATCH] OVERCOMMIT_ALWAYS extension
Date: Thu, 20 Oct 2005 08:11:05 -0700 [thread overview]
Message-ID: <1129821065.16301.5.camel@localhost.localdomain> (raw)
In-Reply-To: <20051019204732.GA9922@localhost.localdomain>
On Wed, 2005-10-19 at 16:47 -0400, Jeff Dike wrote:
> On Wed, Oct 19, 2005 at 11:50:55AM -0700, Badari Pulavarty wrote:
> > Darren Hart is working on patch to add madvise(DISCARD) to extend
> > the functionality of madvise(DONTNEED) to really drop those pages.
> > I was going to ask your opinion on that approach :)
> >
> > shmget(SHM_NORESERVE) + madvise(DISCARD) should do what I was
> > hoping for. (BTW, none of this has been tested with database stuff -
> > I am just concentrating on reasonable extensions.
>
> madvise(DISCARD) has a promising name, but the implementation seems to be
> very differant from what the name says.
>
> This would seem to throw out all pages in the file after offset, which
> makes the end parameter kind of pointless:
>
> + down(i_sem);
> + truncate_inode_pages(vma->vm_file->f_mapping, offset);
> + up(i_sem);
>
> It will also fully truncate files which you have only partially
> mapped, which is somewhat counterintuitive.
Yes. I agree. We were just trying to re-use existing code to see if it
even works.
Initial plan was to use invalidate_inode_pages2_range(). But it didn't
really do what we wanted. So we ended up using truncate_inode_pages().
If it really works, then I plan to add truncate_inode_pages2_range()
to which works on a range of pages, instead of the whole file.
madvise(DONTNEED) followed by madvise(DISCARD) should be able to drop
all the pages in the given range.
Does this make sense ? Does this seem like right approach ?
Thanks,
Badari
--
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: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2005-10-20 15:11 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-10-17 17:30 [RFC] OVERCOMMIT_ALWAYS extension Badari Pulavarty
2005-10-17 18:13 ` Hugh Dickins
2005-10-17 18:25 ` Hugh Dickins
2005-10-17 23:14 ` Badari Pulavarty
2005-10-18 16:05 ` [RFC][PATCH] " Badari Pulavarty
2005-10-19 17:56 ` Hugh Dickins
2005-10-19 18:32 ` Jeff Dike
2005-10-19 21:21 ` Badari Pulavarty
2005-10-19 22:38 ` Jeff Dike
2005-10-19 18:50 ` Badari Pulavarty
2005-10-19 19:12 ` Darren Hart
2005-10-19 20:10 ` Hugh Dickins
2005-10-19 20:47 ` Jeff Dike
2005-10-20 15:11 ` Badari Pulavarty [this message]
2005-10-20 17:27 ` Jeff Dike
2005-10-20 22:37 ` Badari Pulavarty
2005-10-24 20:04 ` Hugh Dickins
2005-10-24 20:22 ` Darren Hart
2005-10-24 20:24 ` Badari Pulavarty
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=1129821065.16301.5.camel@localhost.localdomain \
--to=pbadari@us.ibm.com \
--cc=dvhltc@us.ibm.com \
--cc=hugh@veritas.com \
--cc=jdike@addtoit.com \
--cc=linux-mm@kvack.org \
/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.