Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 30 Nov 2002 13:42:53 +0100 (CET)
From:      Michal Mertl <mime@traveller.cz>
To:        current@freebsd.org
Subject:   system locks with vnode backed md(4)
Message-ID:  <Pine.BSF.4.41.0211301330040.60923-100000@prg.traveller.cz>

next in thread | raw e-mail | index | archive | help
Recently there was a discussion about jails on some freebsd list. Someone
recommended vnconfig(8)ed file-backed disk for jail file systems. Terry
wrote there are problems with it. I liked the idea and played with
mdconfig(8)ed devices on current. Terry was right - I can easily make the
system deadlock. I really like the idea of jails in vnode-backed
filesystems - it performs really well (with small files at least) and it's
a pity it can't really be used. I also assume one may encounter the same
dadlock using vnode backed swap which is recommended all over the place.

I tried to measure performance a bit ('time tar xzf ports.tgz' and 'time
rm -rf ports' on real filesystem and it vnode backed one). I got the
system to lock-up. I am able to get to DDB so I'm posting 'ps' output
here.

To recreate the problem use something like this (but for first dadlock I
wasn't stressing the system that much - I just used it):

mdconfig -a -t vnode -f /some/path/file -s 500m
newfs -U /dev/md0
mount /dev/md0 /some/mount/point
cd /some/mount/point
while (1)
tar xzf /path/to/ports.tgz
rm -rf ports
end

DDB 'ps' output when the system is deadlocked (sorry for the line-wrap):

  pid   proc     addr    uid  ppid  pgrp  flag   stat  wmesg    wchan  cmd
  537 c403a000 e1722000 1001   533   537 8000012 norm[SLPQ  newbuf
c03ede10][SLP] tcsh
  533 c403a1d8 e1723000 1001   532   533 0004002 norm[SLPQ  ppwait
c403a1d8][SLP] tcsh
  532 c403a3b0 e1724000 1001   529   359 0000100 norm[CVQ  select
c039cbe4][SLP] sshd
  529 c403c000 e1760000    0   359   359 0000100 norm[SLPQ  sbwait
c3f00764][SLP] sshd
  528 c403a588 e1725000    0   527   527 0006002 norm[SLPQ  newbuf
c03ede10][SLP] gzip
  527 c3e4a760 e04e0000    0   454   527 0004002 norm[SLPQ  getblk
ce4140f4][SLP] tar
  526 c403c3b0 e1762000 1001   521   526 0004002 norm[SLPQ  newbuf
c03ede10][SLP] find
  521 c403c1d8 e1761000 1001   520   521 2004002 norm[SLPQ   pause
e1761000][SLP] tcsh
  520 c3f3d760 e1701000 1001   517   359 0000100 norm[CVQ  select
c039cbe4][SLP] sshd
  517 c403ace8 e175f000    0   359   359 0000100 norm[SLPQ  sbwait
c3f00b64][SLP] sshd
  507 c403a938 e175d000    0     0     0 0000204 norm[SLPQ  newbuf
c03ede10][SLP] md0
  454 c3f3d3b0 e16ff000    0   453   454 2004002 norm[SLPQ   pause
e16ff000][SLP] csh
  453 c3f3d000 e16fd000 1001   446   453 0004102 norm[SLPQ    wait
c3f3d000][SLP] su
  446 c3e4ab10 e04e2000 1001   445   446 2004002 norm[SLPQ   pause
e04e2000][SLP] tcsh
  445 c3f3db10 e1703000 1001   442   359 0000100 norm[CVQ  select
c039cbe4][SLP] sshd
  442 c3f3d938 e1702000    0   359   359 0000100 norm[SLPQ  sbwait
c3f00264][SLP] sshd
  440 c3f3d1d8 e16fe000    0     1   440 0004002 norm[SLPQ   ttyin
c3fbb410][SLP] getty
  439 c3e4d3b0 e051c000    0     1   439 0004002 norm[SLPQ   ttyin
c3fbb810][SLP] getty
  438 c3e4d588 e051d000    0     1   438 0004002 norm[SLPQ   ttyin
c3fbbc10][SLP] getty
  437 c3e4d760 e051e000    0     1   437 0004002 norm[SLPQ   ttyin
c3f39010][SLP] getty
  436 c3e4d938 e051f000    0     1   436 0004002 norm[SLPQ   ttyin
c3f38810][SLP] getty
  435 c3e4db10 e0520000    0     1   435 0004002 norm[SLPQ   ttyin
c3ef9c10][SLP] getty
  434 c3e4dce8 e0521000    0     1   434 0004002 norm[SLPQ   ttyin
c3f38410][SLP] getty
  432 c3d27ce8 e04d3000    0     1   432 0004002 norm[SLPQ   ttyin
c1201010][SLP] getty
  424 c3f3d588 e1700000    0     1   424 0000000 norm[SLPQ  nanslp
c03c8e34][SLP] cron
  359 c3e4a1d8 e04dd000    0     1   359 0000100 norm[CVQ  select
c039cbe4][SLP] sshd
  209 c3e4a000 e04dc000    0     1   209 0000000 norm[CVQ  select
c039cbe4][SLP] syslogd
   33 c3e4ace8 e04e3000    0     0     0 0000204 norm[SLPQ  vlruwt
c3e4ace8][SLP] vnlru
    9 c3e4d000 e051a000    0     0     0 0000204 norm[SLPQ  newbuf
c03ede10][SLP] syncer
    8 c3e4d1d8 e051b000    0     0     0 0000204 norm[SLPQ  newbuf
c03ede10][SLP] bufdaemon
    7 c3cc0588 d781b000    0     0     0 000020c norm[SLPQ  pgzero
c03ef2a4][SLP] pagezero
    6 c3cc0760 d7852000    0     0     0 0000204 norm[SLPQ  psleep
c03ef2bc][SLP] vmdaemon
    5 c3cc0938 d7853000    0     0     0 0000204 norm[SLPQ  psleep
c03a9718][SLP] pagedaemon
   32 c3cc0b10 d7854000    0     0     0 0000204 new [IWAIT] irq8: rtc
   31 c3cc0ce8 d7855000    0     0     0 0000204 new [IWAIT] irq0: clk
   30 c3d27000 e04cc000    0     0     0 0000204 new [IWAIT] irq4: sio0
   29 c3d271d8 e04cd000    0     0     0 0000204 norm[IWAIT] swi0: tty:sio
   28 c3d273b0 e04ce000    0     0     0 0000204 norm[CPU 0] irq1: atkbd0
   27 c3d27588 e04cf000    0     0     0 0000204 new [IWAIT] irq15: ata1
   26 c3d27760 e04d0000    0     0     0 0000204 norm[IWAIT] irq14: ata0
   25 c3d27938 e04d1000    0     0     0 0000204 new [IWAIT] irq5: pcm0
   24 c120e1d8 d6640000    0     0     0 0000204 norm[IWAIT] irq10: rl0
bktr3+++
   23 c120e3b0 d6641000    0     0     0 0000204 new [IWAIT] irq6: bktr2
bktr5++
   22 c120e588 d6642000    0     0     0 0000204 new [IWAIT] irq7: bktr1
bktr4++
   21 c120e760 d6643000    0     0     0 0000204 new [IWAIT] irq11: bktr0
bktr7*
   20 c120e938 d6644000    0     0     0 0000204 new [IWAIT] irq13:
   19 c120eb10 d6645000    0     0     0 0000204 new [IWAIT] swi5:
acpitaskq
   18 c120ece8 d6646000    0     0     0 0000204 new [IWAIT] swi3: cambio
   17 c3cc0000 d7818000    0     0     0 0000204 new [IWAIT] swi2: camnet
   16 c3cc01d8 d7819000    0     0     0 0000204 new [IWAIT] swi5: task
queue
   15 c3cc03b0 d781a000    0     0     0 0000204 norm[SLPQ   sleep
c03b5040][SLP] random
    4 c1207000 d65cb000    0     0     0 0000204 norm[SLPQ  g_down
c03934b0][SLP] g_down
    3 c12071d8 d6638000    0     0     0 0000204 norm[SLPQ    g_up
c03934ac][SLP] g_up
    2 c12073b0 d6639000    0     0     0 0000204 norm[SLPQ  g_events
c03934a4][SLP] g_event
   14 c1207588 d663a000    0     0     0 0000204 new [IWAIT] swi4: vm
   13 c1207760 d663b000    0     0     0 000020c norm[RUNQ] swi6: tty:sio
clock
   12 c1207938 d663c000    0     0     0 0000204 norm[IWAIT] swi1: net
   11 c1207b10 d663d000    0     0     0 000020c norm[Can run] idle
    1 c1207ce8 d663e000    0     0     1 0004200 norm[SLPQ    wait
c1207ce8][SLP] init
   10 c120e000 d663f000    0     0     0 0000204 norm[CVQ  ktrace
c03c50c4][SLP] ktrace
    0 c0394720 c04ff000    0     0     0 0000200 norm[SLPQ   sched
c0394720][SLP] swapper


-- 
Michal Mertl
mime@traveller.cz



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.41.0211301330040.60923-100000>