From: Nick Piggin <nickpiggin@yahoo.com.au>
To: Satyam Sharma <ssatyam@cse.iitk.ac.in>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
David Howells <dhowells@redhat.com>, Andi Kleen <ak@suse.de>,
Andrew Morton <akpm@linux-foundation.org>,
Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: [PATCH 6/8] i386: bitops: Don't mark memory as clobbered unnecessarily
Date: Tue, 24 Jul 2007 13:57:21 +1000 [thread overview]
Message-ID: <46A578A1.5010504@yahoo.com.au> (raw)
In-Reply-To: <20070723160558.22137.71943.sendpatchset@cselinux1.cse.iitk.ac.in>
Satyam Sharma wrote:
> From: Satyam Sharma <ssatyam@cse.iitk.ac.in>
>
> [6/8] i386: bitops: Don't mark memory as clobbered unnecessarily
>
> The goal is to let gcc generate good, beautiful, optimized code.
>
> But test_and_set_bit, test_and_clear_bit, __test_and_change_bit,
> and test_and_change_bit unnecessarily mark all of memory as clobbered,
> thereby preventing gcc from doing perfectly valid optimizations.
>
> The case of __test_and_change_bit() is particularly surprising, given
> that it's a variant where we don't make any guarantees at all.
__test_and_change_bit is one that you could remove the memory clobber
from.
> ---
>
> include/asm-i386/bitops.h | 8 ++++----
> 1 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/include/asm-i386/bitops.h b/include/asm-i386/bitops.h
> index 0f5634b..f37b8a2 100644
> --- a/include/asm-i386/bitops.h
> +++ b/include/asm-i386/bitops.h
> @@ -254,7 +254,7 @@ static inline int __test_and_change_bit(int nr, unsigned long *addr)
> __asm__ __volatile__(
> "btcl %2,%1\n\tsbbl %0,%0"
> :"=r" (oldbit),"=m" (*addr)
> - :"r" (nr) : "memory");
> + :"r" (nr));
> return oldbit;
> }
>
--
SUSE Labs, Novell Inc.
next prev parent reply other threads:[~2007-07-24 3:57 UTC|newest]
Thread overview: 92+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-23 16:05 [PATCH 0/8] i386: bitops: Cleanup, sanitize, optimize Satyam Sharma
2007-07-23 16:05 ` [PATCH 1/8] i386: bitops: Update/correct comments Satyam Sharma
2007-07-23 16:05 ` [PATCH 2/8] i386: bitops: Rectify bogus "Ir" constraints Satyam Sharma
2007-07-23 16:10 ` Andi Kleen
2007-07-23 16:21 ` Satyam Sharma
2007-07-23 16:30 ` Andi Kleen
2007-07-23 16:36 ` Jan Hubicka
2007-07-23 18:05 ` H. Peter Anvin
2007-07-23 18:28 ` H. Peter Anvin
2007-07-23 17:57 ` Linus Torvalds
2007-07-23 18:14 ` Satyam Sharma
2007-07-23 18:32 ` Andi Kleen
2007-07-23 18:39 ` H. Peter Anvin
2007-07-23 18:52 ` Satyam Sharma
2007-07-23 16:05 ` [PATCH 3/8] i386: bitops: Rectify bogus "+m" constraints Satyam Sharma
2007-07-23 16:37 ` Andi Kleen
2007-07-23 17:15 ` Satyam Sharma
2007-07-23 17:46 ` Linus Torvalds
2007-07-24 9:22 ` David Howells
2007-07-23 16:05 ` [PATCH 4/8] i386: bitops: Kill volatile-casting of memory addresses Satyam Sharma
2007-07-23 17:52 ` Linus Torvalds
2007-07-24 4:19 ` Nick Piggin
2007-07-24 6:23 ` Satyam Sharma
2007-07-24 7:16 ` Nick Piggin
2007-07-24 9:49 ` Benjamin Herrenschmidt
2007-07-24 17:20 ` Linus Torvalds
2007-07-24 17:39 ` Jeff Garzik
2007-07-25 4:54 ` Nick Piggin
2007-07-23 16:05 ` [PATCH 5/8] i386: bitops: Contain warnings fallout from the death of volatiles Satyam Sharma
2007-07-23 16:05 ` [PATCH 6/8] i386: bitops: Don't mark memory as clobbered unnecessarily Satyam Sharma
2007-07-23 16:13 ` Andi Kleen
2007-07-23 16:26 ` Satyam Sharma
2007-07-23 16:33 ` Andi Kleen
2007-07-23 17:12 ` Satyam Sharma
2007-07-23 17:49 ` Jeremy Fitzhardinge
2007-07-23 17:55 ` Linus Torvalds
2007-07-24 9:52 ` Benjamin Herrenschmidt
2007-07-24 17:24 ` Linus Torvalds
2007-07-24 17:42 ` Trond Myklebust
2007-07-24 18:13 ` Linus Torvalds
2007-07-24 18:28 ` Trond Myklebust
2007-07-24 21:37 ` Benjamin Herrenschmidt
2007-07-24 21:55 ` Trond Myklebust
2007-07-24 22:32 ` Benjamin Herrenschmidt
2007-07-25 4:10 ` Nick Piggin
2007-07-24 21:36 ` Benjamin Herrenschmidt
2007-07-24 3:57 ` Nick Piggin [this message]
2007-07-24 6:38 ` Satyam Sharma
2007-07-24 7:24 ` Nick Piggin
2007-07-24 8:29 ` Satyam Sharma
2007-07-24 8:39 ` Nick Piggin
2007-07-24 8:38 ` Trent Piepho
2007-07-24 19:39 ` Linus Torvalds
2007-07-24 20:37 ` Andi Kleen
2007-07-24 20:08 ` Linus Torvalds
2007-07-24 21:31 ` Jeremy Fitzhardinge
2007-07-24 21:46 ` Linus Torvalds
2007-07-26 1:07 ` Trent Piepho
2007-07-26 1:18 ` Linus Torvalds
2007-07-26 1:22 ` Linus Torvalds
2007-07-24 9:44 ` David Howells
2007-07-24 10:02 ` Satyam Sharma
2007-07-23 16:06 ` [PATCH 7/8] i386: bitops: Kill needless usage of __asm__ __volatile__ Satyam Sharma
2007-07-23 16:18 ` Andi Kleen
2007-07-23 16:22 ` [PATCH 7/8] i386: bitops: Kill needless usage of __asm__ __volatile__ II Andi Kleen
2007-07-23 16:32 ` [PATCH 7/8] i386: bitops: Kill needless usage of __asm__ __volatile__ Satyam Sharma
2007-07-23 16:23 ` Jeremy Fitzhardinge
2007-07-23 16:43 ` Satyam Sharma
2007-07-23 17:39 ` Jeremy Fitzhardinge
2007-07-23 18:07 ` Satyam Sharma
2007-07-23 18:28 ` Jeremy Fitzhardinge
2007-07-23 20:29 ` Trent Piepho
2007-07-23 20:40 ` Jeremy Fitzhardinge
2007-07-23 21:06 ` Trent Piepho
2007-07-23 21:30 ` Andi Kleen
2007-07-23 21:48 ` Nicholas Miell
2007-07-23 16:06 ` [PATCH 8/8] i386: bitops: smp_mb__{before, after}_clear_bit() definitions Satyam Sharma
2007-07-24 3:53 ` Nick Piggin
2007-07-24 7:34 ` Satyam Sharma
2007-07-24 7:48 ` Jeremy Fitzhardinge
2007-07-24 8:31 ` Nick Piggin
2007-07-24 8:20 ` Nick Piggin
2007-07-24 9:21 ` Satyam Sharma
2007-07-24 10:25 ` Nick Piggin
2007-07-24 11:10 ` Satyam Sharma
2007-07-24 11:32 ` Nick Piggin
2007-07-24 11:45 ` Satyam Sharma
2007-07-24 12:01 ` Nick Piggin
2007-07-24 17:12 ` Linus Torvalds
2007-07-24 19:01 ` Satyam Sharma
2007-07-30 17:57 ` [PATCH 0/8] i386: bitops: Cleanup, sanitize, optimize Denis Vlasenko
2007-07-31 1:07 ` Satyam Sharma
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=46A578A1.5010504@yahoo.com.au \
--to=nickpiggin@yahoo.com.au \
--cc=ak@suse.de \
--cc=akpm@linux-foundation.org \
--cc=dhowells@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=ssatyam@cse.iitk.ac.in \
--cc=torvalds@linux-foundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox