Uhm... It's not that simple.
The mem_free_kbytes default for 226MB RAM is 1991kB.
(see e.g. this - http://dd.qc.ca/people.redhat.com/ke...ee_kbytes.html
We want to use some optimal, reasonably low value. High value would cause less RAM available for apps as the reserved memory can be used only by kernel space.
The default value would actually work rather fine... if there was not so strong tendency to RAM fragmentation in the case of our 2.6.32 kernel.
There are situations when the total amount of free memory is perfectly sufficient and yet the higher order allocations may fail, because almost all of the free memory is available only as single page blocks (4K). When the kernel (usually the SGX PVR driver) needs to allocate continuous 8K (or even bigger) block and fails, it can lead to freezes and reboots (most often observed when running Google Maps, but it's not the only case).
(btw., the same happens also in 2.6.32 kernels for 512MB RAM Motorola devices such as Defy, Milestone2, Droid2... that have much higher amount of total free RAM. Go figure...).
Setting higher value of mem_free_kbytes can prevent such amount of fragmentation.
So the goal is to find as low value as possible (higher or equal to 1991kB), that will be high enough to prevent the fragmentation issues.
So far, I've settled at 5120kB.
(if you want to check the free fragments of memory, use cat /proc/buddyinfo - the output says the numbers of free blocks - 4k, 8k, 16k, 32k and so on)