Port-alpha archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Panic on -current with MULTIPROCESSOR



> On Apr 1, 2021, at 9:22 AM, Jason Thorpe <thorpej%me.com@localhost> wrote:
> 
> 
>> On Apr 1, 2021, at 9:18 AM, Jason Thorpe <thorpej%me.com@localhost> wrote:
>> 
>> #define SPINLOCK_BACKOFF(count)                                 \
>> do {                                                            \
>>       int __i;                                                \
>>       for (__i = (count); __i != 0; __i--) {                  \
>>               SPINLOCK_BACKOFF_HOOK;                          \
>>       }                                                       \
>>       if ((count) < SPINLOCK_BACKOFF_MAX)                     \
>>               (count) += (count);                             \
>> } while (/* CONSTCOND */ 0);
> 
> Sorry, that’s the backoff hook … the spin hook is called in _kernel_lock() (i.e. acquiring the big lock)…. Ah, and I think this is the problem… the spin hook does not appear to be called in the spin mutex case.

To close the loop on this, I sent John a patch off-list, and it appears to have fixed the problem for him. I’ve gone ahead and checked it in:

	http://mail-index.netbsd.org/source-changes/2021/04/03/msg128464.html

Thanks for testing it, John!

-- thorpej



Home | Main Index | Thread Index | Old Index