Messages in this thread | | | Subject | Re: kernel stack size | From | Steven Rostedt <> | Date | Sun, 03 Apr 2005 14:01:44 -0400 |
| |
On Sun, 2005-04-03 at 09:10 +0200, Manfred Spraul wrote:
> Yes - sem or spin locks are quicker as long as no cache line transfers > are necessary. If the semaphore is accessed by multiple cpus, then > kmalloc would be faster: slab tries hard to avoid taking global locks. > I'm not speaking about contention, just the cache line ping pong for > acquiring a free semaphore.
Without contention, is there still a problem with cache line ping pong of acquiring a free semaphore?
I mean, say only one task is using a given semaphore. Is there still going to be cache line transfers for acquiring it? Even if the task in question stays on a CPU. Is the "LOCK" on an instruction that expensive even if the other CPUs haven't accessed that location of memory.
Sorry for my ignorance, I don't know all the interworkings of the Cache on SMP systems. Is there any good references on the Internet? I definitely want to know so that my coding practices for SMP improve.
Thanks,
-- Steve
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |