Re: (patch) SMP Alpha hacks for 2.1.120

Joseph A. Martin (jmartin@linux08.hlo.dec.com)
Thu, 03 Sep 1998 10:10:34 -0300


>>From: Jeff Garzik <jgarzik@pobox.com>
>>Date: Wed, 2 Sep 1998 21:44:17 -0400 (EDT)
>>Subject: (patch) SMP Alpha hacks for 2.1.120

arch/alpha/kernel/smp.c:
>>+ spinlock_t kernel_flag = SPIN_LOCK_UNLOCKED;
Yes, instantiating the lock is the correct solution for the link error.

...

include/asm-alpha/smplock.h:
>>+ #define kernel_lock_held() \
>>+ (klock_info.kernel_flag && (klock_info.akp == smp_processor_id()))
Resurrecting this old macro won't work because klock_info has been
replaced by the generic spinlock kernel_flag, so
klock_info.kernel_flag is never set and the test always fails,
resulting in all those printk's:

...

>>flush_tlb_page: kernel_flag 0 (cpu 0 akp 0)!
>>flush_tlb_page: kernel_flag 0 (cpu 0 akp 0)@0xfffffc000033554
>>flush_tlb_page: kernel_flag 0 (cpu 0 akp 0)@0xfffffc00003715c
>>...
>>[repeat many hundreds of times with each serious disk access,
>>the '!' lines are far more frequent than the memory address lines]
>>
>>/*
>>* Release global kernel lock and global interrupt lock

\Joe [jmartin@ds.hlo.dec.com Joseph A. Martin
Compaq Computer Corporation
334 South Street
(508) 841-3320 Shrewsbury, MA 01545 U.S.A.
]

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html