tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: [PATCH] Re: zero-filed page on VOP_PUTPAGES
Emmanuel Dreyfus <manu%netbsd.org@localhost> wrote:
> > That code passes my test case for data corruption, and it does not hang
> > the kernel.
> I spoke too fast, it is still able to deadlock.
I identified simple situations where the ioflush thread would enter
puffs_vnop_strategy and fail to request asynchrnous usage (because
pn->pn_stat has no PNODE_SUSPEND). However there seems to be
more subtle case. For instance here is ddb's ps output for a hang system.
I have trouble to way where the deadlock here. Any hint?
PID LID S CPU FLAGS STRUCT LWP * NAME WAIT
18340 1 3 0 4 cb309040 cron flt_pmfail1
1875 1 3 0 4 cb21c780 sed flt_noram5
11514 1 3 0 84 cb309540 sh piperd
7210 1 3 0 84 cb3d0800 sh wait
25483 1 3 0 4 cb3097c0 nbmake flt_noram5
23798 1 3 0 84 cb5ced20 sh wait
508 1 3 0 84 cb3d0300 nbmake wait
11536 1 3 0 84 cb362a60 sh wait
5332 1 3 0 84 cb309a40 nbmake wait
6669 1 3 0 80 cb3092c0 sh wait
7186 1 3 0 80 cb309cc0 nbmake wait
7641 1 3 0 80 cb259520 sh wait
5598 1 3 0 80 cb2597a0 nbmake wait
3377 1 3 0 80 cb259020 sh wait
96 1 3 0 80 cb2592a0 ksh pause
538 1 3 0 84 cb21c000 sh wait
559 1 3 0 80 cb21c280 ksh pause
372 1 3 0 84 cb21c500 screen-4.0.3 select
555 1 3 0 80 cb21ca00 ksh ttyraw
563 1 2 0 0 cb21cc80 sshd
535 1 3 0 80 cb0760e0 sshd netio
547 1 3 0 80 cb076360 httpd semwait
539 1 3 0 80 cb0765e0 httpd semwait
541 1 3 0 80 cb076860 httpd semwait
540 1 3 0 84 cb076ae0 httpd kqueue
529 1 3 0 80 c9d71cc0 httpd semwait
536 1 3 0 4 c9d71a40 getty km_getwait2
524 1 3 0 84 cb076d60 httpd select
521 1 3 0 4 cafe80c0 cron flt_noram5
510 1 3 0 80 caebd0a0 inetd kqueue
437 1 2 0 0 cafe8340 sshd
334 1 3 0 80 cac4fa80 powerd kqueue
240 1 3 0 84 cafe8ac0 ntpd pause
326 4 3 0 84 cac4f800 glusterfsd netio
> 3 7 0 40004 cafe85c0 glusterfsd
2 3 0 80 cafe8840 glusterfsd sigwait
1 3 0 84 caebd320 glusterfsd select
328 1 3 0 84 caebdaa0 perfused kqueue
199 4 3 0 84 c9d722e0 glusterfsd netio
3 2 0 4 caebd5a0 glusterfsd
2 3 0 80 caebdd20 glusterfsd sigwait
1 3 0 84 cac4f300 glusterfsd select
229 1 3 0 84 cac4f580 perfused kqueue
109 1 2 0 4 c9d72060 syslogd
1 1 3 0 84 c9d71040 init wait
0 33 2 0 204 cac4f080 swapiod
32 3 0 204 cafe8d40 puffsop puffsop
31 3 0 204 caebd820 puffsop puffsop
30 3 0 204 cac4fd00 physiod physiod
29 3 0 204 c9d717c0 aiodoned aiodoned
28 3 0 204 c9d71540 ioflush syncer
27 3 0 204 c9d712c0 pgdaemon pgdaemon
26 3 0 204 c9d6a020 cryptoret crypto_wait
25 3 0 204 c9d72ce0 unpgc unpgc
24 3 0 204 c9d72a60 vmem_rehash vmem_rehash
23 3 0 204 c9d72560 xenbus rdst
22 3 0 204 c9d727e0 xenwatch evtsq
12 3 0 204 c9d6a2a0 pmfevent pmfevent
11 3 0 204 c9d6a520 sopendfree sopendfr
10 3 0 204 c9d6a7a0 nfssilly nfssilly
9 3 0 204 c9d6aa20 cachegc cachegc
8 3 0 204 c9d6aca0 vrele vrele
7 3 0 204 c9d67000 xcall/0 xcall
6 1 0 204 c9d67280 softser/0
5 1 0 204 c9d67500 softclk/0
4 1 0 204 c9d67780 softbio/0
3 1 0 204 c9d67a00 softnet/0
2 1 0 205 c9d67c80 idle/0
1 3 0 204 c046d2e0 swapper schedpwait
--
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
manu%netbsd.org@localhost
Home |
Main Index |
Thread Index |
Old Index