just added some debug prints into venti and found out some more details
about the "sync..." hang problem.

ok, the main thread is spinning and kicking in icache.c / icachealloc()
because all blocks (20) in the cache seem dirty and need to be flushed,
but that
never happens. the icache.ndirty count goes never down and the
icachewritecoord thread doesnt flush anything... i dont know why yet.

icache.as.arena is 0 in icachewrite.c / icachewritecoord().
for what is that check? who is setting that field?

if i comment that test out i see "donewrite err=0" messages but the
icache.ndirty doesnt decrease. it should be decremented in icacheclean()
called from icachwrite.c / icachewritesect()... but icachewritesect()
then enter the while(iedirty) loop...

"icachewritesect enter 0 4294967295 0" and
"icachewritesect done"

i hope that maybe helps a little bit :-(