> > I?ve been looking into the ?kernel looks to be hung at reboot? problem at 
> > bit. Adding a lot of printf() calls to the relevant parts it looks like it 
> > actually isn?t hung but busy unmounting filesystems (which we have 
> > thousands of), flushing disk caches, calling registered callbacks and stuff 
> > and sometimes it takes a bit longer than usual - probably due to ZFS having 
> > stuff queued up that needs to be written to disk before it finishes?
> > 
> > Anyway, I?d like to propose that we add some kind of counter/printf() calls 
> > in that code area so we can see that things are indeed progressing. 
> > However, I?d probably prefer not to print _every_ filesystem (or registered 
> > callbacks - a lot of those...) - that generates a lot of output (tried that 
> > :-) but something like:
> > 
> > Unmounting filesystems:
> > 1234 done
> > (With the "1234 done? updated something like once per second).
> > 
> > What?s the right/best way to do that from the kernel? In user space I?d 
> > just call time(&t) at some convenient points and only print something if 
> > ?t? has changed. :-)
> 
> How about updated every 128 unmounts?
> 
> if ((i & 0x7f) == i) printf("%i done\n:");

if ((i & 0x7f) == 0) printf("%i done\n:");

> > 
> > - Peter
> 
> -- 
> Rod Grimes                                                 rgri...@freebsd.org
> _______________________________________________
> freebsd-current@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
> 

-- 
Rod Grimes                                                 rgri...@freebsd.org
_______________________________________________
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to