All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Nikanth Karthikesan <knikanth@novell.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Jens Axboe <jens.axboe@oracle.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Detect and warn on atomic_inc/atomic_dec wrapping around
Date: Thu, 30 Apr 2009 10:23:50 +0200	[thread overview]
Message-ID: <20090430082350.GA21699@elte.hu> (raw)
In-Reply-To: <200904301259.11413.knikanth@novell.com>


* Nikanth Karthikesan <knikanth@novell.com> wrote:

> Add a debug option to detect and warn when the 32-bit atomic_t 
> wraps around during atomic_inc and atomic_dec.
> 
> Signed-off-by: Nikanth Karthikesan <knikanth@suse.de>

hm, what's the motivation?

As a generic debug helper this is not appropriate i think - counts 
can easily have a meaning when going negative as well. (we have no 
signed-atomic primitives)

>  static inline void atomic_inc(atomic_t *v)
>  {
> +#if defined(CONFIG_ENABLE_WARN_ATOMIC_INC_WRAP)
> +	WARN_ON(atomic_add_unless(v, 1, INT_MAX) == 0);
> +#else
>  	asm volatile(LOCK_PREFIX "incl %0"
>  		     : "+m" (v->counter));
> +#endif
>  }

also looks a bit ugly - this ugly #ifdef would spread into every 
architecture.

If we want to restrict atomic_t value ranges like that then the 
clean solution would be to add generic wrappers doing the debug 
(once, in generic code), and renaming the arch primitives to 
raw_atomic_inc() (etc), doing the lowlevel bits cleanly.

Do we really want this?

	Ingo

  reply	other threads:[~2009-04-30  8:24 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-29  6:51 [PATCH][RFC] Handle improbable possibility of io_context->refcount overflow Nikanth Karthikesan
2009-04-29  7:59 ` Andrew Morton
2009-04-29 10:03   ` Nikanth Karthikesan
2009-04-29 15:15     ` Andrew Morton
2009-04-30  7:28       ` Nikanth Karthikesan
2009-04-30  7:28       ` [PATCH v2] " Nikanth Karthikesan
2009-04-30  7:29       ` [PATCH] Detect and warn on atomic_inc/atomic_dec wrapping around Nikanth Karthikesan
2009-04-30  8:23         ` Ingo Molnar [this message]
2009-04-30 10:11           ` Nikanth Karthikesan
2009-04-30 10:47             ` Ingo Molnar
2009-04-30 12:08               ` Nikanth Karthikesan
2009-04-30 12:21                 ` Ingo Molnar
2009-04-30 12:26                   ` Nikanth Karthikesan
2009-04-30 12:50                     ` Ingo Molnar
2009-04-30 13:29                       ` Nikanth Karthikesan
2009-04-30 13:37                         ` Ingo Molnar
2009-04-30 13:51                           ` Nikanth Karthikesan
2009-04-30 14:05                             ` Ingo Molnar
2009-04-30 14:09                               ` Nikanth Karthikesan
2009-04-30 14:44                                 ` Ingo Molnar
2009-04-30 21:45                                 ` Andrew Morton
2009-05-01  4:57                                   ` Nikanth Karthikesan
2009-05-01  5:06                                     ` Andrew Morton
2009-05-01  5:13                                       ` Andrew Morton
2009-05-08  0:23                                 ` Andrew Morton
2009-05-08 10:40                                   ` Nikanth Karthikesan
2009-05-08 10:46                                     ` Nikanth Karthikesan

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=20090430082350.GA21699@elte.hu \
    --to=mingo@elte.hu \
    --cc=akpm@linux-foundation.org \
    --cc=jens.axboe@oracle.com \
    --cc=knikanth@novell.com \
    --cc=linux-kernel@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.