All of lore.kernel.org
 help / color / mirror / Atom feed
From: Oleg Nesterov <oleg@redhat.com>
To: George Spelvin <linux@horizon.com>
Cc: torvalds@linux-foundation.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/1] percpu_rw_semaphore: reimplement to not block the readers unnecessarily
Date: Sun, 4 Nov 2012 16:52:04 +0100	[thread overview]
Message-ID: <20121104155204.GA30288@redhat.com> (raw)
In-Reply-To: <20121104084743.21804.qmail@science.horizon.com>

On 11/04, George Spelvin wrote:
>
> Grand poo-bah Linus wrote:
> > Now, I doubt you'll find an architecture or C compiler where this will
> > actually ever make a difference, but the fact remains that you
> > shouldn't use signed integers for counters like this. You should use
> > unsigned, and you should rely on the well-defined modulo-2**n
> > semantics.
>
> Actually, this is another C standard undefined case that recent versions of
> GCC exploit for optimization.
                  ^^^^^^^^^^^^

This is another thing,

> For example, the loop:
> 	for (i = 1; i; i++)
> 		/* Code */
> will never terminate!  Feed the following to gcc -O2 and see for yourself:

Yes, because ...

> Notice the lack of test in the "jmp .L2" loop.

Exactly.

But if we have like

	int A, B;

	int sum(void)
	{
		return A + B;
	}

then I doubt there is any architecture (at least supported by linux)
which can generate the different code if you do s/int/unsigned/.


Anyway I agree, unsigned makes more sense, and I changed this patch
accordingly..

Oleg.


  reply	other threads:[~2012-11-04 15:51 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-04  8:47 [PATCH 1/1] percpu_rw_semaphore: reimplement to not block the readers unnecessarily George Spelvin
2012-11-04 15:52 ` Oleg Nesterov [this message]
  -- strict thread matches above, loose matches on Subject: below --
2012-10-16 19:56 [PATCH 1/2] brw_mutex: big read-write mutex Linus Torvalds
2012-10-17 16:59 ` Oleg Nesterov
2012-10-17 22:44   ` Paul E. McKenney
2012-10-18 16:24     ` Oleg Nesterov
2012-10-18 16:38       ` Paul E. McKenney
2012-10-18 17:57         ` Oleg Nesterov
2012-10-19 19:28           ` Paul E. McKenney
2012-10-22 23:36             ` [PATCH 0/2] fix and improvements for percpu-rw-semaphores (was: brw_mutex: big read-write mutex) Mikulas Patocka
2012-10-30 18:48               ` Oleg Nesterov
2012-10-31 19:41                 ` [PATCH 0/1] percpu_rw_semaphore: reimplement to not block the readers unnecessarily Oleg Nesterov
2012-10-31 19:41                   ` [PATCH 1/1] " Oleg Nesterov
2012-11-01 15:10                     ` Linus Torvalds
2012-11-01 15:34                       ` Oleg Nesterov
2012-11-01 15:43                     ` Paul E. McKenney
2012-11-01 18:33                       ` Oleg Nesterov
2012-11-02 16:18                         ` Oleg Nesterov

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=20121104155204.GA30288@redhat.com \
    --to=oleg@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@horizon.com \
    --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.