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

Startseite
Anhänge:
Nachricht
+ (text/plain)
Nachricht löschen
Nachricht beantworten
Autor: Charles Manning
Datum:  
To: yaffs
Betreff: Re: [Yaffs] Some other uClinux & Yaffs memory problems...
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


>