[Yaffs] YAFFS2 and kswapd dead lock problem
Lawson.Reed
Reed.Lawson at IGT.com
Wed Nov 23 20:46:56 GMT 2005
Hi again.
I did some more testing and discovered to my dismay that its
not JUST kswapd that is causing this... Because I still
see the deadlock even without kswapd running :-(
I caught ftp and my application crossing swords as well.
(*sigh*)
Oh, I know someone is going to ask for this, so here it is:
(and the $Id's are coming from MY checkin on MY
CVS server... so guess that does not help much. Sorry)
/> cat /proc/yaffs
YAFFS built:Nov 22 2005 16:18:11
$Id: yaffs_fs.c,v 1.1 2005/06/29 22:14:08 rlawson Exp $
$Id: yaffs_guts.c,v 1.2 2005/07/11 22:05:18 rlawson Exp $
Device yaffs
startBlock......... 1
endBlock........... 8191
chunkGroupBits..... 3
chunkGroupSize..... 8
nErasedBlocks...... 7709
nTnodesCreated..... 1900
nFreeTnodes........ 0
nObjectsCreated.... 100
nFreeObjects....... 85
nFreeChunks........ 494852
nPageWrites........ 0
nPageReads......... 0
nBlockErasures..... 14
nGCCopies.......... 1
garbageCollections. 1
passiveGCs......... 1
nRetriedWrites..... 0
nRetireBlocks...... 0
eccFixed........... 0
eccUnfixed......... 0
tagsEccFixed....... 0
tagsEccUnfixed..... 0
cacheHits.......... 1434
nDeletedFiles...... 3
nUnlinkedFiles..... 19
nBackgroudDeletions 0
useNANDECC......... 1
isYaffs2........... 1
grossLock count.... -2
/>
So, again, if any one has ideas, or has seen this before,
let me know.
__________________________________
Reed Lawson
IGT Firmware Engineering
(775) 448-0755
> -----Original Message-----
> From: yaffs-bounces at stoneboat.aleph1.co.uk
> [mailto:yaffs-bounces at stoneboat.aleph1.co.uk]On Behalf Of Lawson.Reed
> Sent: Wednesday, November 23, 2005 8:58 AM
> To: yaffs at stoneboat.aleph1.co.uk
> Subject: [Yaffs] YAFFS2 and kswapd dead lock problem
>
>
> Hi,
>
> <Background>
>
> We have been using YAFFS2 on 2 Samsung 512Meg parts (1 gig total)
> on our project for about 6 months now (I'm on Linux 2.4.24-uc0
> (I know, I know... upgrade... well, to make a long story short
> I can not.. because we are on a 5272 ColdFire and no one has ported
> the USB or FEC drivers to 2.6 that I know of and I sure do not have
> that much time on my hands....)) and it has been working GREAT!
>
> Except....
>
> Once in a while (like maybe three times a week), access to the YAFFS2
> file system blocks. The rest of the system continues to work, but
> somewhere someone is holding the grossLock and not letting go.
> Once this happens, if I just cd into my /nandfs directory,
> an 'ls' just hangs.
>
> I originally thought it was an issue with the nand MTD code.
> but I put debug LED flashes around every entry point and when
> it hangs, none of those LEDs are on.
>
> I wrote a test app that spawns 10 pthreads that all hammer the YAFFS2
> with fopen, fwrite, and fclose continuously with random nanosleep
> times of up to 100 ms. It hangs after about 8 seconds of that.
> I added a grossLock count to the /proc/yaffs file and sure enough
> when this happens, it is way negative (like -4 or -7 or something)
> and holding.
>
> So, I modified yaffs_fs.c to print the pid of each call to
> the grossLock and grossUnlock routines. I see a flurry of pids
> in the range of 30 to 40. That's my test app. But then I see
> a pid of 4 and shortly after, the dead lock occurs....
>
> pid 4 is kswapd.....
>
> Well, being ignorant about kswapd, I googled it and could not find
> anything very useful on it. We are a small uClinux embedded system
> and hence, we do not have a swap partition or an MMU.... So, what
> good is kswapd???
>
> I modified vmscan.c to simply not start the kswapd thread
> and my test app ran all night with no hangs....
>
> </Background>
>
> So, to my questions....
>
> Is anybody else seeing this?
> What is different about the way kswapd access YAFFS that
> causes the deadlock?
> Why is kswapd accessing the YAFFS file system anyway?
> How does it even know its there?
> What benefit is kswapd in my mmu-less embedded system?
> Is there any danger in just disabling kswapd?
>
> I'll be searching for the answers to these questions and will post
> answers if and when I find anything....
>
> In the mean time, I'd sure appreciate
> any light you 'all can shed on this.
>
> Thanks,
> - Reed.
>
> __________________________________
> Reed Lawson
> IGT Firmware Engineering
> (775) 448-0755
>
>
> _______________________________________________
> yaffs mailing list
> yaffs at stoneboat.aleph1.co.uk
> http://stoneboat.aleph1.co.uk/cgi-bin/mailman/listinfo/yaffs
>
More information about the yaffs
mailing list