[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200611291030.56670.dada1@cosmosbay.com>
Date: Wed, 29 Nov 2006 10:30:56 +0100
From: Eric Dumazet <dada1@...mosbay.com>
To: Jeremy Fitzhardinge <jeremy@...p.org>
Cc: akpm@...l.org, Arjan van de Ven <arjan@...radead.org>, ak@...e.de,
mingo@...e.hu, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] i386-pda UP optimization
On Wednesday 29 November 2006 00:12, Jeremy Fitzhardinge wrote:
> Hi Eric,
>
> Could you try this patch out and see if it makes much performance
> difference for you. You should apply this on top of the %fs patch I
> posted earlier (and use the %fs patch as the baseline for your
> comparisons).
Hi Jeremy
I will try this as soon as possible, thank you.
However I have some remarks browsing your patch.
> +#ifdef CONFIG_SMP
> +#define LOAD_PDA_SEG(reg) \
> + movl $(__KERNEL_PDA), reg; \
> + movl reg, %fs
> +#define CUR_CPU(reg) movl %fs:PDA_cpu, reg
> +#else
> +#define LOAD_PDA_SEG(reg)
> +#define CUR_CPU(reg) movl boot_pda+PDA_cpu, reg
if !CONFIG_SMP, why even dereferencing boot_pda+PDA_cpu to get 0 ?
and as PER_CPU(cpu_gdt_descr, %ebx) in !CONFIG_SMP doesnt need the a value in
ebx, you can just do :
#define CUR_CPU(reg) /* nothing */
> --- a/include/asm-i386/pda.h Tue Nov 21 18:54:56 2006 -0800
> +++ b/include/asm-i386/pda.h Wed Nov 22 02:35:24 2006 -0800
> @@ -22,6 +22,16 @@ extern struct i386_pda *_cpu_pda[];
>
My patch was better IMHO : we dont need to force asm () instructions to
perform regular C variable reading/writing in !CONFIG_SMP case.
Using plain C allows compiler to generate a better code.
Eric
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists