Messages in this thread | | | Date | Tue, 11 Nov 2003 13:59:15 +0530 | From | Ravikiran G Thirumalai <> | Subject | Re: hot cache line due to note_interrupt() |
| |
On Mon, Nov 10, 2003 at 03:58:44PM -0600, Jack Steiner wrote: > > I dont know the background on note_interrupt() in arch/ia64/kernel/irq.c, > but I had to disable the function on our large systems (IA64). > > The function updates a counter in the irq_desc_t table. An entry in this table > is shared by all cpus that take a specific interrupt #. For most interrupt #'s, > this is a problem but it is prohibitive for the timer tick on big systems. > > Updating the counter causes a cache line to be bounced between > cpus at a rate of at least HZ*active_cpus. (The number of bus transactions
The answer to this is probably alloc_percpu for the counters. right now this might not possible because irq_desc_t table might be used very early, and alloc_percpu uses slab underneath. alloc_percpu will have to be made to work early enough for this....
Thanks, Kiran
- 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/
| |