can't get buffer cache to flush with /dev/ram with 2.4.4 using "update"/"sync"

Floydsmith@aol.com
Thu, 9 Aug 2001 13:45:11 EDT


Hello all,

I boot linux using "loadlin" with an "initrd" ram disk image ("minix" type
fs) of size 32 Meg with kernel 2.4.4. The /linuxrc (a C executable) runs and
it shows that the mounted file sysem is of proper type and size. Then my
"linuxrc" extracts a "tar" achrive (to populate the mounted /dev/ram [on
"/"]) with a small subset of "linux" about (18 Meg) (as a "rescue" floppy
boot). Before the "extract", debug code shows that the "cached" entry in
"/proc/meminfo" to be practically zero (and thus plenty of "freemem").
However, after the "extract", the "cached" line shows about "18Meg" and I
can find nothing that works to "flush" it. I have tried "spawing"
"/sbin/update" and waiting several min. and running "/bin/sync" and also
waiting - no change in the "cahed" entry (or and increase in the "freemem").
(ps -ef shows a process "bdflush" running [spawned] on its own.) Thus, trying
to bring up a "logon" shell (and its "init" scripts) results in that process
being killed do to lack of "freemem". I have only 64M and less than 4 Meg
free after the "extract". Any suggestions greatly appreciated in advance. If
there any "syscall" I can make in "linuxrc" that will flush "all" buffers
without knowing anything like "file descriptors"? Is this "syscall"
"synchronus" - or do do I have wait several seconds for it to work?

This problem does NOT occur with 2.2.18.

Floyd,
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/