Badari Pulavarty wrote:
Interesting. Since you have a very easy to reproduce case -
can you write a program to do posix_fadvise(POSIX_FADV_DONTNEED)
on those files in directory "t" and see what happens ?
Sure. It appears to cause an immediate "sync" of the file data
to disk (lots of drive activity for a few seconds), and the Dirty
count from /proc/meminfo reduces correspondingly.
Oddly enough, the Dirty count didn't go all the way down, though.
Doing a "sync" or a second run of the program afterwards does
get the count down to zero immediately, without any significant I/O.
Strange.
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
int main (int argc, char *argv[])
{
while (--argc > 0) {
int fd = open(*++argv, O_RDWR);
if (fd == -1) {
perror(*argv);
} else {
int posix_fadvise(int, off_t, off_t, int);
const int POSIX_FADV_DONTNEED = 4;
int rc = posix_fadvise(fd, 0, 0, POSIX_FADV_DONTNEED);
if (rc == -1)
perror(*argv);
close(fd);
}
}
return 0;
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]