Messages in this thread | | | Date | Fri, 17 Jul 1998 23:22:15 -0700 | From | "David S. Miller" <> | Subject | Re: patch to trim page table cache |
| |
Date: Fri, 17 Jul 1998 21:49:55 -0400 From: Bill Hawes <whawes@star.net>
The patch also corrects an apparent kernel locking problem in arch/i386/kernel/process.c. The SMP version of sys_idle() doesn't get the kernel lock before calling check_pgt_cache(), but since the pgt quicklists don't have spinlock protection, the kernel lock is necessary for SMP safety. I've moved the kernel lock upwards to cover it.
UGH!!! They don't need spinlock protection!!!
The whole beauty of the design of the pgt_caches was that they _never_ need any locking even on SMP. They are local cpu cache lists, never accessed from within' interrupts even.
Linus, please don't apply this.
Now, what this does point out, is that perhaps the machanism is not commented properly, but actually I do remember this being explained in the pgtable.h implementation level code at least on Sparc.
Later, David S. Miller davem@dm.cobaltmicro.com
- 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
| |