Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 30 Jul 2011 18:55:18 -0400 (EDT)
From:      Rick Macklem <rmacklem@uoguelph.ca>
To:        Andriy Gapon <avg@FreeBSD.org>
Cc:        FreeBSD-Current <freebsd-current@FreeBSD.org>
Subject:   Re: Heavy I/O blocks FreeBSD box for several seconds
Message-ID:  <557218859.1217065.1312066518634.JavaMail.root@erie.cs.uoguelph.ca>
In-Reply-To: <4E33BBA5.4030805@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Andriv Gapon wrote:
> on 26/07/2011 00:44 Rick Macklem said the following:
> > hrs sent me this panic. I'm wondering if it might be relevant to
> > this?
> 
> To 'this' what?

Well, my thinking was (and it is quite likely completely incorrect) is
that, since this panic is a result of holding the spin lock too long,
that it might be another symptom of the same problem as when the scheduler
seems to "lock up" for several seconds.
--> The bug might be some case where the spin lock isn't being released
    when it should be, and that "could" result in "Heavy I/O blocks
    FreeBSD box for several seconds". Note that the server was under
    heavy I/O load when this panic occurred.


> A panic is a panic.
> 
> > spin lock 0xffffffff80cb52c0 (sched lock 1) held by
> > 0xffffff0012c7f8c0 (tid 100317) too long
> > panic: spin lock held too long
> 
> I guess it's more related to the thread on stable@ which has the panic
> message
> as its subject.
> 
> > cpuid = 0
> > KDB: stack backtrace:
> > db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
> > kdb_backtrace() at kdb_backtrace+0x37
> > panic() at panic+0x187
> > _mtx_lock_spin_failed() at _mtx_lock_spin_failed+0x39
> > _mtx_lock_spin() at _mtx_lock_spin+0x9e
> > sched_add() at sched_add+0x117
> > setrunnable() at setrunnable+0x78
> > sleepq_signal() at sleepq_signal+0x7a
> > cv_signal() at cv_signal+0x3b
> > xprt_active() at xprt_active+0xe3
> > svc_vc_soupcall() at svc_vc_soupcall+0xc
> > sowakeup() at sowakeup+0x69
> > tcp_do_segment() at tcp_do_segment+0x2cbd
> > tcp_input() at tcp_input+0xcdd
> > ip_input() at ip_input+0xac
> > netisr_dispatch_src() at netisr_dispatch_src+0x7e
> > ether_demux() at ether_demux+0x14d
> > ether_input() at ether_input+0x17d
> > em_rxeof() at em_rxeof+0x1ca
> > em_handle_que() at em_handle_que+0x5b
> > taskqueue_run_locked() at taskqueue_run_locked+0x85
> > taskqueue_thread_loop() at taskqueue_thread_loop+0x4e
> > fork_exit() at fork_exit+0x11f
> > fork_trampoline() at fork_trampoline+0xe
> > --- trap 0, rip = 0, rsp = 0xffffff8000160d00, rbp = 0 ---
> > KDB: enter: panic
> > [thread pid 0 tid 100033 ]
> > Stopped at kdb_enter+0x3b: movq $0,0x6b4e62(%rip)
> > db> ps
> >
> 
> --
> Andriy Gapon
> _______________________________________________
> freebsd-current@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to
> "freebsd-current-unsubscribe@freebsd.org"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?557218859.1217065.1312066518634.JavaMail.root>