Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Tue, 31 Oct 2000 18:22:45 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Tue, 31 Oct 2000 18:22:37 -0500 Received: from chiara.elte.hu ([157.181.150.200]:51207 "HELO chiara.elte.hu") by vger.kernel.org with SMTP id ; Tue, 31 Oct 2000 18:22:22 -0500 Date: Wed, 1 Nov 2000 01:32:21 +0100 (CET) From: Ingo Molnar Reply-To: mingo@elte.hu To: "Jeff V. Merkey" Cc: root@chaos.analogic.com, Andi Kleen , Pavel Machek , linux-kernel@vger.kernel.org Subject: Re: 2.2.18Pre Lan Performance Rocks! In-Reply-To: <39FF5259.822F28FF@timpanogas.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 31 Oct 2000, Jeff V. Merkey wrote: > > One could create a 'kernel' that does: > > for(;;) > > { > > proc0(); > > proc1(); > > proc2(); > > proc3(); > > etc(); > > } > > would be coded like this (no C compiler): > > proc0: > > proc1: > > proc2: > > proc3: > > etc: > > label: > jmp proc0 oh, and what happens if it turns out that some other place wants to call proc3 as well? Recode the assembly - cool! Not. > I just avoided 5 x 20 bytes of pushes and pops on the stack ad optimized > for a simple fall through case. FYI, GCC does not generate 5 x 20 bytes of pushes and pops. In fact in the above specific case it will not generate a single push (automatically - you dont have to worry about it). Ingo - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/