[Yaffs] Some other uClinux & Yaffs memory problems...

Charles Manning manningc2 at actrix.gen.nz
Tue Aug 2 21:37:01 BST 2005


On Tuesday 02 August 2005 21:31, Ludovic Guilhamat wrote:
> Hi,
>
> I've been tested Yaffs for some hours now, and I'm in front of some
> memory problems.
>
> I use a 2.4.22 uClinux kernel, and the mtd which went with it.

There is likely some weird mtd interaction issue. 
>
> I'm working on a 2MB partition. I run a stress program which creates a
> 'big' file (512kB), erases it, and then creates some little files (1024
> Bytes) before erasing them. This process loops.
>
> When I do a 'df -h', I see that my partition is full after only 3 loops.
> It's like the erases didn't accomplish successfully...
>
> I see a similar problem when some of the created little files are on the
> partition : after having stopped my stress program, I want to erase some
> of the files. If I do it one by one, the 'df -h' shows that there is
> empty space that grows, but if I rm files by packets ('rm tests_0*' for
> example, which erases 16 files), the 'df -h' shows that there is less
> memory space than before deletion...
>
> Nevertheless, if I umount and remount my partition, the memory space
> grows.... It's very strange (it's like a process (gc ??) was activated
> only during mount or umount...).

The space reported in df should be all free space including both erased space 
and garbage so that should not be a problem. The space is calculated by 
tracking the unused space which includes discarded/deleted chunks.


>
> Finally, once my partition have been full, I don't success in emptying
> it by 'rm' files. The only way I have to empty my partition is to
> 'mkyaffs' it...
>
> So, I ask for some advices and ideas again...

Can you turn on all yaffs tracing (set yaffs_traceMask to 0xFFFFFFFF) and 
capture a log of the above. Compress it and send it to me **off-list**. 
Please include /proc/yaffs and please do this using the latest yaffs code 
from CVS.

-- Charles


>



More information about the yaffs mailing list