On Fri, 2 Sep 2011, David Howells wrote: > Mark Hills <mark@xxxxxxxxxxx> wrote: > > > In dmesg "Overlong wait for old active object to go away" (see full > > message below), and an application will hang or lock, eg. blocking on > > read(). > > > > Sometimes it unblocks, sometimes it seems to hang indefinitely. Is > > there a higher level explanation for what is going on here? > > I suspect that the OBJECT_RECYCLING state doesn't complete the > transition to the OBJECT_DYING state since we saw that we had to wait > for outstanding operations to complete at the time OBJECT_DYING was > processed. I think there's probably a race in waking up the object > state machine when the last operation completes. > > It would be useful you could try is grepping in /proc/fs/fscache/objects > for the objects named in the error text. The object debug ID is > right-aligned in the first column without the "OBJ" attached. Sure, I'll try this next week and hopefully get you more info. I was hoping for some useful debug information like this, thanks. > I think I see a gap in my testing:-(. I've mainly tested against a > static set of files on the server for reproducibility - but that doesn't > test these paths. This could reasonably explain why such problems have gone unnoticed. I'm trying to use cachefs for day-to-day work; reads and writes. My /home is on NFS, which probably explains why I get hit hard. Perhaps give that a try for a bit if you are keen to try and see these problems. > I have manually done individual file alterations, but that doesn't > stress things. I see very common lockups on Opera's (web browser) cache directory. I suppose the nature of a cache directory is that it is 'stressful' on reads and writes on small files. I also see it on program source code files when I am developing. In these cases they're being modified only by the one client, which is also the client with cachefilesd running. Thanks for the useful info. -- Mark -- Linux-cachefs mailing list Linux-cachefs@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/linux-cachefs