Purging the Page Table (was: Purging the Buffer Cache)
--- Juri Haberland <[email protected]>
Quoted 8 lines · wrote:
Quoted 3 lines · Al Peat
Is there any way to completely purge the buffer
cache -- not just the write requests (ala 'sync'or
Quoted 2 lines
'update'), but the whole thing? Can I just call
invalidate_buffers()ordestroy_buffers()?
Quoted 6 lines
What about the ioctl BLKFLSBUF ?
If you are running a SuSE distrib there is already a tool called flushb
that does what you want. If not, you can download the simple tool from
http://innominate.org/~juri/flushb.tar.gz
Another question: what if I need to purge the page
table of all files as well? Is there a clean way to do that? I've been looking at /mm/memory.c, but it doesn't look like clear_page_tables, etc. get exported.
I need /all/ read requests to go to disk, and it'd
be nice if I could do that without a reboot (but I'll take the reboot if that's the only way to go about it :)
Thanks again,
Al
__________________________________________________
Do You Yahoo!?
Yahoo! Shopping - Thousands of Stores. Millions of Products.
http://shopping.yahoo.com/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/
Quoted 5 lines · Al Peat
Quoted 5 lines
Quoted 2 lines
Is there any way to completely purge the buffer
cache -- not just the write requests (ala 'sync'or
Quoted 2 lines
'update'), but the whole thing? Can I just call
invalidate_buffers()ordestroy_buffers()?
Try this script:
case "id -u" in
0) ;;
*) echo Only root can run this script. 1>&2; exit 1 ;;
esac
mount | sort -k3 -r | \
while read dev ON dir TYPE type etc; do
echo mount $dir -o remount
mount $dir -o remount
done
mount | sort -k1 | \
while read dev ON dir TYPE type etc; do
case "$dev" in
/dev/*) echo hdparm -f $dev
hdparm -f $dev >/dev/null ;;
esac
done
-- Jamie
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/