All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <a.p.zijlstra@chello.nl>
To: Borislav Petkov <borislav.petkov@amd.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>,
	mingo@kernel.org, linux-kernel@vger.kernel.org,
	frank.arnold@amd.com, akpm@linux-foundation.org,
	torvalds@linux-foundation.org, tglx@linutronix.de,
	linux-tip-commits@vger.kernel.org
Subject: Re: [tip:x86/mce] x86/bitops: Move BIT_64() for a wider use
Date: Wed, 23 May 2012 18:29:31 +0200	[thread overview]
Message-ID: <1337790571.9783.28.camel@laptop> (raw)
In-Reply-To: <20120523161932.GN14757@aftab.osrc.amd.com>

On Wed, 2012-05-23 at 18:19 +0200, Borislav Petkov wrote:
> On Wed, May 23, 2012 at 09:11:51AM -0700, H. Peter Anvin wrote:
> > On 05/23/2012 09:10 AM, Peter Zijlstra wrote:
> > > On Wed, 2012-05-23 at 09:07 -0700, tip-bot for Borislav Petkov wrote:
> > >> +#define BIT_64(n)                      (U64_C(1) << (n))
> > > 
> > > Because writing 1ULL << n is too much work? 
> > > 
> > 
> > Because writing 1ULL << n is broken in anything that needs to be used in
> > assembly, for example.
> 
> Actually we need a BIT() macro that works both
> on 32- and 64-bit. But that won't be that easy:
> http://lkml.indiana.edu/hypermail/linux/kernel/1010.1/02335.html
> 
> And it should return UL for shift values < 32 and ULL otherwise.

If I remember my type rules correctly you'll get something like that
with:

#define BIT(n)	({ typeof(n) __n = (n); (__n < 32) ? (1UL << __n) : (1ULL << __n); })

That said, having it do this might be unexpected, also hpa mentioned
something about assembly magics which will obviously not work with the
above either.

Anyway, ignore me, I just thought the BIT_64() thing looked funny, but
apparently there's good reasons for it.


  reply	other threads:[~2012-05-23 16:29 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-22 10:53 [PATCH 1/2] x86, bitops: Move BIT_64 for a wider use Borislav Petkov
2012-05-22 10:53 ` [PATCH 2/2] x86, MCE: Fix 32-bit build Borislav Petkov
2012-05-23 16:08   ` [tip:x86/mce] x86/mce: " tip-bot for Borislav Petkov
2012-05-23 16:18     ` Peter Zijlstra
2012-05-23 16:23       ` Borislav Petkov
2012-05-23 16:31         ` Peter Zijlstra
2012-05-23 16:44           ` Borislav Petkov
2012-05-23 16:46             ` Peter Zijlstra
2012-05-23 16:54               ` Borislav Petkov
2012-05-23 16:07 ` [tip:x86/mce] x86/bitops: Move BIT_64() for a wider use tip-bot for Borislav Petkov
2012-05-23 16:10   ` Peter Zijlstra
2012-05-23 16:11     ` H. Peter Anvin
2012-05-23 16:19       ` Borislav Petkov
2012-05-23 16:29         ` Peter Zijlstra [this message]
2012-05-23 16:31           ` H. Peter Anvin
2012-05-23 16:43             ` Linus Torvalds
2012-05-23 16:47               ` H. Peter Anvin
2012-05-23 16:50                 ` H. Peter Anvin
2012-05-23 16:54                 ` Linus Torvalds
2012-05-23 16:55                   ` H. Peter Anvin
2012-05-23 16:53             ` Borislav Petkov
2012-05-23 16:57               ` Linus Torvalds
2012-05-23 17:11                 ` Borislav Petkov
2012-05-23 17:37                   ` Linus Torvalds
2012-05-23 16:54           ` Peter Zijlstra
2012-05-23 16:40         ` Linus Torvalds
2012-05-23 16:42           ` H. Peter Anvin
2012-05-23 16:45             ` Linus Torvalds

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=1337790571.9783.28.camel@laptop \
    --to=a.p.zijlstra@chello.nl \
    --cc=akpm@linux-foundation.org \
    --cc=borislav.petkov@amd.com \
    --cc=frank.arnold@amd.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=tglx@linutronix.de \
    --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 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.