All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Mosberger <davidm@hpl.hp.com>
To: linux-ia64@vger.kernel.org
Subject: Re: [Linux-ia64] rwlock and atomic_sub on ia64
Date: Thu, 16 Aug 2001 00:25:18 +0000	[thread overview]
Message-ID: <marc-linux-ia64-105590698805085@msgid-missing> (raw)
In-Reply-To: <marc-linux-ia64-105590698805063@msgid-missing>

>>>>> On Wed, 15 Aug 2001 15:29:19 -0700, KOCHI Takayoshi <t-kouchi@mvf.biglobe.ne.jp> said:

  Kochi> This is because atomic_sub is actually a macro defined in
  Kochi> asm-ia64/atomic.h and it compares value against negative values
  Kochi> to get optimized code.

  Kochi> So, four comparison against negative numbers makes four warnings
  Kochi> for the single atomic_sub.

  Kochi> Here is the quote of atomic_sub

  Kochi> #define atomic_sub_return(i,v)						\
  Kochi> ((__builtin_constant_p(i) &&					\
  Kochi> (    ( i =  1) || ( i =  4) || ( i =  8) || ( i = 16)	\
  Kochi> || ( i = -1) || ( i = -4) || ( i = -8) || ( i = -16)))	\
  Kochi> ? ia64_fetch_and_add(-(i), &(v)->counter)			\
  Kochi> : ia64_atomic_sub(i, v))

  Kochi> #define atomic_sub(i,v)		atomic_sub_return((i), (v))

That's correct.  We could fix this with appropriate casting and then
you could use fetchadd1 to increment unsigned variables by 224, 240,
252, 255.  However, getting this 100% is rather tricky and I'm not
sure I want to play with this in the 2.4 series.  For now, I'd
recommend to just live with the warning (it's harmless, other than
being annoying).

	--david


      parent reply	other threads:[~2001-08-16  0:25 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-08-13 13:55 [Linux-ia64] rwlock and atomic_sub on ia64 Noah Romer
2001-08-13 17:02 ` Jes Sorensen
2001-08-13 20:40 ` Noah Romer
2001-08-13 20:48 ` Jes Sorensen
2001-08-13 20:54 ` Noah Romer
2001-08-13 20:55 ` David Mosberger
2001-08-14 21:00 ` Noah Romer
2001-08-15 18:37 ` David Mosberger
2001-08-15 20:30 ` Noah Romer
2001-08-15 22:29 ` KOCHI Takayoshi
2001-08-16  0:25 ` David Mosberger [this message]

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=marc-linux-ia64-105590698805085@msgid-missing \
    --to=davidm@hpl.hp.com \
    --cc=linux-ia64@vger.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.