All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Andi Kleen <andi@firstfloor.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	Jeff Garzik <jeff@garzik.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
	x86@kernel.org
Subject: Re: [PATCH] X86-32: Let gcc decide whether to inline memcpy was Re: New x86 warning
Date: Thu, 23 Apr 2009 08:30:53 +0200	[thread overview]
Message-ID: <20090423063053.GA9833@elte.hu> (raw)
In-Reply-To: <20090422220428.GE13896@one.firstfloor.org>


* Andi Kleen <andi@firstfloor.org> wrote:

> > > Quick test here:
> > 
> > How about you just compile the kernel with gcc-3.2 and compare 
> > the number of calls to memcpy before-and-after instead? That's 
> > the real test.
> 
> I waited over 10 minutes for the full vmlinux objdumps to finish. 
> sorry lost patience. If someone has a fast disassembler we can try 
> it. I'll leave them running over night, maybe there are exact 
> numbers tomorrow.

Uhm, the test Linus requested is very simple, it doesnt need 'full' 
objdumps, just a plain defconfig [*] - an objdump takes less than 10 
seconds here even on an old box i tried it on.

I just did this - it all took less than 5 minutes to do the whole 
test with gcc34:

  vmlinux.gcc34.vanilla:       679 calls to memcpy
  vmlinux.gcc34.gcc-memcpy:   1393 calls to memcpy

So your patch more than doubles the number of calls to out-of-line 
memcpy on older GCC. That's not really acceptable so i'm NAK-ing 
this patch.

Next time you send such patches please test with older GCCs straight 
away - it's a basic act of testing when doing a patch that 'lets GCC 
decide' anything. GCC has a very bad track record in that area.

	Ingo

  parent reply	other threads:[~2009-04-23  6:32 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-22  6:46 New x86 warning Jeff Garzik
2009-04-22  7:01 ` Ingo Molnar
2009-04-22  8:45   ` [PATCH] X86-32: Let gcc decide whether to inline memcpy was " Andi Kleen
2009-04-22 18:00     ` [tip:x86/asm] x86: use __builtin_memcpy() on 32 bits tip-bot for Andi Kleen
2009-04-22 20:56     ` [PATCH] X86-32: Let gcc decide whether to inline memcpy was Re: New x86 warning Linus Torvalds
2009-04-22 21:15       ` Andi Kleen
2009-04-22 21:19         ` Linus Torvalds
2009-04-22 22:04           ` Andi Kleen
2009-04-23  6:08             ` fresh data was " Andi Kleen
2009-04-23  6:36               ` Ingo Molnar
2009-04-23  7:37                 ` Andi Kleen
2009-04-23  6:30             ` Ingo Molnar [this message]
2009-04-23  7:43               ` Andi Kleen
2009-04-22 23:49     ` Joe Damato
2009-04-23  1:48       ` H. Peter Anvin
2009-04-23 21:22         ` Joe Damato
2009-04-23 22:09           ` H. Peter Anvin
2009-04-24  8:44           ` Andi Kleen
2009-04-23  6:09       ` Andi Kleen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090423063053.GA9833@elte.hu \
    --to=mingo@elte.hu \
    --cc=andi@firstfloor.org \
    --cc=hpa@zytor.com \
    --cc=jeff@garzik.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.