hello. If memory serves correct, this problem was discussed relative to NetBSD-5 when Andrew Doran was working on the smp improvements to the kernel. As manu pointed out, it could be a result of a number of scenarios. My take away from all the discussion was that the best way to find the problem was to look at all the processes that weren't in tstile wait and see what they're doing. Everything in tstile wait is basically waiting in line for another resource that's currently in use. In other words, a lot of tstile processes is a symptom of a problem, not the problem itself. It sounds like collecting stack traces on the processes that are in puffsrpl wait would be a good start and that might give you a clue as to what might be getting stuck. It also might be a good idea to get stack traces on all of the kernel threads to see what they're doing. I'm guessing there's some deadlock between puffs and some of the other filesystem code on the system.
-thanks -Brian