Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756748AbYKDTIe (ORCPT ); Tue, 4 Nov 2008 14:08:34 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752644AbYKDTIZ (ORCPT ); Tue, 4 Nov 2008 14:08:25 -0500 Received: from terminus.zytor.com ([198.137.202.10]:47775 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753396AbYKDTIY (ORCPT ); Tue, 4 Nov 2008 14:08:24 -0500 Message-ID: <49109D7C.3090409@zytor.com> Date: Tue, 04 Nov 2008 11:07:40 -0800 From: "H. Peter Anvin" User-Agent: Thunderbird 2.0.0.14 (X11/20080501) MIME-Version: 1.0 To: Alexander van Heukelum CC: Andi Kleen , Cyrill Gorcunov , Alexander van Heukelum , LKML , Ingo Molnar , Thomas Gleixner , lguest@ozlabs.org, jeremy@xensource.com, Steven Rostedt , Mike Travis Subject: Re: [PATCH RFC/RFB] x86_64, i386: interrupt dispatch changes References: <20081104122839.GA22864@mailshack.com> <20081104150729.GC21470@localhost> <20081104170501.GE29626@one.firstfloor.org> <1225822006.21441.1282961299@webmail.messagingengine.com> <491090F3.5020701@zytor.com> <1225824256.28612.1282966677@webmail.messagingengine.com> In-Reply-To: <1225824256.28612.1282966677@webmail.messagingengine.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1485 Lines: 34 Alexander van Heukelum wrote: > > Thanks for the info! > > This just means that if there are performance problems, the > 'specialized' > handlers should be using the kernel segment or maybe a single common > segment. It would still allow us to get rid of the trampolines. A stack > trace should be enough to reconstruct which vector was originally called > in that case. Only the common_interrupt-codepath needs the original > vector as far as I can see. > > You just made testing on larger machines with a lot of external > interrupts necessary :-/. (Assuming small machines do not show > performance problems, that is.) > Overall, it more than anything else show the x86 architectural braindamage of not having an interrupt vector number register available anywhere. However, I suspect using segment registers is liable to suffer from a "wall of jello" effect once you overflow the segment descriptor cache, which will typically be around 32 entries in size. Now, at least on my kernel, the existing IRQ stubs are rather weird: they are padded to 8 bytes and then misaligned onto a 4-byte boundary. Furthermore, at the cost of an extra jump, they can trivially be compressed down to 4 bytes apiece instead of 7-padded-to-8. -hpa -- 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/