Re: sched_pin() versus PCPU_GET

2010-08-08 Thread Attilio Rao
2010/8/4 m...@freebsd.org: On Fri, Jul 30, 2010 at 2:31 PM, John Baldwin j...@freebsd.org wrote: On Friday, July 30, 2010 10:08:22 am John Baldwin wrote: On Thursday, July 29, 2010 7:39:02 pm m...@freebsd.org wrote: We've seen a few instances at work where witness_warn() in ast() indicates

Re: sched_pin() versus PCPU_GET

2010-08-08 Thread mdf
On Sun, Aug 8, 2010 at 2:43 PM, Attilio Rao atti...@freebsd.org wrote: 2010/8/4  m...@freebsd.org: On Fri, Jul 30, 2010 at 2:31 PM, John Baldwin j...@freebsd.org wrote: On Friday, July 30, 2010 10:08:22 am John Baldwin wrote: On Thursday, July 29, 2010 7:39:02 pm m...@freebsd.org wrote:

Re: sched_pin() versus PCPU_GET

2010-08-06 Thread Attilio Rao
2010/8/5 John Baldwin j...@freebsd.org: On Thursday, August 05, 2010 11:59:37 am m...@freebsd.org wrote: On Wed, Aug 4, 2010 at 11:55 AM, John Baldwin j...@freebsd.org wrote: On Wednesday, August 04, 2010 12:20:31 pm m...@freebsd.org wrote: On Wed, Aug 4, 2010 at 2:26 PM, John Baldwin

Re: sched_pin() versus PCPU_GET

2010-08-05 Thread mdf
On Wed, Aug 4, 2010 at 11:55 AM, John Baldwin j...@freebsd.org wrote: On Wednesday, August 04, 2010 12:20:31 pm m...@freebsd.org wrote: On Wed, Aug 4, 2010 at 2:26 PM, John Baldwin j...@freebsd.org wrote: On Tuesday, August 03, 2010 9:46:16 pm m...@freebsd.org wrote: On Fri, Jul 30, 2010 at

Re: sched_pin() versus PCPU_GET

2010-08-05 Thread mdf
On Wed, Aug 4, 2010 at 9:20 AM, m...@freebsd.org wrote: On Wed, Aug 4, 2010 at 2:26 PM, John Baldwin j...@freebsd.org wrote: Actually, I would beg to differ in that case.  If PCPU_GET(spinlocks) returns non-NULL, then it means that you hold a spin lock, ll_count is 0 for the correct

Re: sched_pin() versus PCPU_GET

2010-08-05 Thread Kostik Belousov
On Thu, Aug 05, 2010 at 09:01:22AM -0700, m...@freebsd.org wrote: On Wed, Aug 4, 2010 at 9:20 AM, m...@freebsd.org wrote: On Wed, Aug 4, 2010 at 2:26 PM, John Baldwin j...@freebsd.org wrote: Actually, I would beg to differ in that case.  If PCPU_GET(spinlocks) returns non-NULL, then it

Re: sched_pin() versus PCPU_GET

2010-08-05 Thread John Baldwin
On Thursday, August 05, 2010 12:01:22 pm m...@freebsd.org wrote: On Wed, Aug 4, 2010 at 9:20 AM, m...@freebsd.org wrote: On Wed, Aug 4, 2010 at 2:26 PM, John Baldwin j...@freebsd.org wrote: Actually, I would beg to differ in that case. If PCPU_GET(spinlocks) returns non-NULL, then it

Re: sched_pin() versus PCPU_GET

2010-08-05 Thread John Baldwin
On Thursday, August 05, 2010 11:59:37 am m...@freebsd.org wrote: On Wed, Aug 4, 2010 at 11:55 AM, John Baldwin j...@freebsd.org wrote: On Wednesday, August 04, 2010 12:20:31 pm m...@freebsd.org wrote: On Wed, Aug 4, 2010 at 2:26 PM, John Baldwin j...@freebsd.org wrote: On Tuesday, August

Re: sched_pin() versus PCPU_GET

2010-08-05 Thread mdf
(gdb) p panic_cpu $9 = 2 (gdb) p dumptid $12 = 100751 (gdb) p cpuhead.slh_first-pc_allcpu.sle_next-pc_curthread-td_tid $14 = 100751 (gdb) p *cpuhead.slh_first-pc_allcpu.sle_next $6 = {   pc_curthread = 0xff00716d6960,   pc_cpuid = 2,   pc_spinlocks = 0x80803198, (gdb) p

Re: sched_pin() versus PCPU_GET

2010-08-04 Thread John Baldwin
On Tuesday, August 03, 2010 9:46:16 pm m...@freebsd.org wrote: On Fri, Jul 30, 2010 at 2:31 PM, John Baldwin j...@freebsd.org wrote: On Friday, July 30, 2010 10:08:22 am John Baldwin wrote: On Thursday, July 29, 2010 7:39:02 pm m...@freebsd.org wrote: We've seen a few instances at work

Re: sched_pin() versus PCPU_GET

2010-08-04 Thread mdf
On Wed, Aug 4, 2010 at 2:26 PM, John Baldwin j...@freebsd.org wrote: On Tuesday, August 03, 2010 9:46:16 pm m...@freebsd.org wrote: On Fri, Jul 30, 2010 at 2:31 PM, John Baldwin j...@freebsd.org wrote: On Friday, July 30, 2010 10:08:22 am John Baldwin wrote: On Thursday, July 29, 2010

Re: sched_pin() versus PCPU_GET

2010-08-04 Thread John Baldwin
On Wednesday, August 04, 2010 12:20:31 pm m...@freebsd.org wrote: On Wed, Aug 4, 2010 at 2:26 PM, John Baldwin j...@freebsd.org wrote: On Tuesday, August 03, 2010 9:46:16 pm m...@freebsd.org wrote: On Fri, Jul 30, 2010 at 2:31 PM, John Baldwin j...@freebsd.org wrote: On Friday, July 30,

Re: sched_pin() versus PCPU_GET

2010-08-03 Thread mdf
On Fri, Jul 30, 2010 at 2:31 PM, John Baldwin j...@freebsd.org wrote: On Friday, July 30, 2010 10:08:22 am John Baldwin wrote: On Thursday, July 29, 2010 7:39:02 pm m...@freebsd.org wrote: We've seen a few instances at work where witness_warn() in ast() indicates the sched lock is still

Re: sched_pin() versus PCPU_GET

2010-07-30 Thread Kostik Belousov
On Thu, Jul 29, 2010 at 04:57:25PM -0700, m...@freebsd.org wrote: On Thu, Jul 29, 2010 at 4:39 PM, m...@freebsd.org wrote: We've seen a few instances at work where witness_warn() in ast() indicates the sched lock is still held, but the place it claims it was held by is in fact sometimes

Re: sched_pin() versus PCPU_GET

2010-07-30 Thread mdf
2010/7/30 Kostik Belousov kostik...@gmail.com: On Thu, Jul 29, 2010 at 04:57:25PM -0700, m...@freebsd.org wrote: On Thu, Jul 29, 2010 at 4:39 PM,  m...@freebsd.org wrote: We've seen a few instances at work where witness_warn() in ast() indicates the sched lock is still held, but the place it

Re: sched_pin() versus PCPU_GET

2010-07-30 Thread John Baldwin
On Thursday, July 29, 2010 7:39:02 pm m...@freebsd.org wrote: We've seen a few instances at work where witness_warn() in ast() indicates the sched lock is still held, but the place it claims it was held by is in fact sometimes not possible to keep the lock, like: thread_lock(td);

Re: sched_pin() versus PCPU_GET

2010-07-30 Thread John Baldwin
On Friday, July 30, 2010 10:08:22 am John Baldwin wrote: On Thursday, July 29, 2010 7:39:02 pm m...@freebsd.org wrote: We've seen a few instances at work where witness_warn() in ast() indicates the sched lock is still held, but the place it claims it was held by is in fact sometimes not

sched_pin() versus PCPU_GET

2010-07-29 Thread mdf
We've seen a few instances at work where witness_warn() in ast() indicates the sched lock is still held, but the place it claims it was held by is in fact sometimes not possible to keep the lock, like: thread_lock(td); td-td_flags = ~TDF_SELECT; thread_unlock(td); What I

Re: sched_pin() versus PCPU_GET

2010-07-29 Thread mdf
On Thu, Jul 29, 2010 at 4:39 PM, m...@freebsd.org wrote: We've seen a few instances at work where witness_warn() in ast() indicates the sched lock is still held, but the place it claims it was held by is in fact sometimes not possible to keep the lock, like:        thread_lock(td);