Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1239039 > unrolled thread

[PATCH 1/3] scsi: drop unlikely behind BUG_ON()

Started byGeliang Tang <geliangtang@163.com>
First post2015-10-04 08:20 +0200
Last post2015-10-05 05:40 +0200
Articles 8 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 1/3] scsi: drop unlikely behind BUG_ON() Geliang Tang <geliangtang@163.com> - 2015-10-04 08:20 +0200
    [PATCH 3/3] mm/nommu: drop unlikely behind BUG_ON() Geliang Tang <geliangtang@163.com> - 2015-10-04 08:20 +0200
      Re: [PATCH 3/3] mm/nommu: drop unlikely behind BUG_ON() Leon Romanovsky <leon@leon.nu> - 2015-10-04 13:10 +0200
        Re: [PATCH 3/3] mm/nommu: drop unlikely behind BUG_ON() Davidlohr Bueso <dave@stgolabs.net> - 2015-10-05 04:10 +0200
          Re: [PATCH 3/3] mm/nommu: drop unlikely behind BUG_ON() Leon Romanovsky <leon@leon.nu> - 2015-10-05 10:00 +0200
      Re: [PATCH 3/3] mm/nommu: drop unlikely behind BUG_ON() Davidlohr Bueso <dave@stgolabs.net> - 2015-10-05 04:00 +0200
        Re: [PATCH 3/3] mm/nommu: drop unlikely behind BUG_ON() Geliang Tang <geliangtang@163.com> - 2015-10-05 04:40 +0200
          Re: [PATCH 3/3] mm/nommu: drop unlikely behind BUG_ON() Davidlohr Bueso <dave@stgolabs.net> - 2015-10-05 05:40 +0200

#1239039 — [PATCH 1/3] scsi: drop unlikely behind BUG_ON()

FromGeliang Tang <geliangtang@163.com>
Date2015-10-04 08:20 +0200
Subject[PATCH 1/3] scsi: drop unlikely behind BUG_ON()
Message-ID<qfKOl-uJ-3@gated-at.bofh.it>
BUG_ON() already contain an unlikely compiler flag. Drop it.

Signed-off-by: Geliang Tang <geliangtang@163.com>
---
 drivers/scsi/scsi_lib.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
index f570b48..3b5faab 100644
--- a/drivers/scsi/scsi_lib.c
+++ b/drivers/scsi/scsi_lib.c
@@ -1164,8 +1164,8 @@ int scsi_init_io(struct scsi_cmnd *cmd)
 
 		count = blk_rq_map_integrity_sg(rq->q, rq->bio,
 						prot_sdb->table.sgl);
-		BUG_ON(unlikely(count > ivecs));
-		BUG_ON(unlikely(count > queue_max_integrity_segments(rq->q)));
+		BUG_ON(count > ivecs);
+		BUG_ON(count > queue_max_integrity_segments(rq->q));
 
 		cmd->prot_sdb = prot_sdb;
 		cmd->prot_sdb->table.nents = count;
-- 
2.5.0


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1239040 — [PATCH 3/3] mm/nommu: drop unlikely behind BUG_ON()

FromGeliang Tang <geliangtang@163.com>
Date2015-10-04 08:20 +0200
Subject[PATCH 3/3] mm/nommu: drop unlikely behind BUG_ON()
Message-ID<qfKOm-uJ-7@gated-at.bofh.it>
In reply to#1239039
BUG_ON() already contain an unlikely compiler flag. Drop it.

Signed-off-by: Geliang Tang <geliangtang@163.com>
---
 mm/nommu.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/mm/nommu.c b/mm/nommu.c
index 1e0f168..92be862 100644
--- a/mm/nommu.c
+++ b/mm/nommu.c
@@ -578,16 +578,16 @@ static noinline void validate_nommu_regions(void)
 		return;
 
 	last = rb_entry(lastp, struct vm_region, vm_rb);
-	BUG_ON(unlikely(last->vm_end <= last->vm_start));
-	BUG_ON(unlikely(last->vm_top < last->vm_end));
+	BUG_ON(last->vm_end <= last->vm_start);
+	BUG_ON(last->vm_top < last->vm_end);
 
 	while ((p = rb_next(lastp))) {
 		region = rb_entry(p, struct vm_region, vm_rb);
 		last = rb_entry(lastp, struct vm_region, vm_rb);
 
-		BUG_ON(unlikely(region->vm_end <= region->vm_start));
-		BUG_ON(unlikely(region->vm_top < region->vm_end));
-		BUG_ON(unlikely(region->vm_start < last->vm_top));
+		BUG_ON(region->vm_end <= region->vm_start);
+		BUG_ON(region->vm_top < region->vm_end);
+		BUG_ON(region->vm_start < last->vm_top);
 
 		lastp = p;
 	}
-- 
2.5.0


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1239097 — Re: [PATCH 3/3] mm/nommu: drop unlikely behind BUG_ON()

FromLeon Romanovsky <leon@leon.nu>
Date2015-10-04 13:10 +0200
SubjectRe: [PATCH 3/3] mm/nommu: drop unlikely behind BUG_ON()
Message-ID<qfPkZ-6Z8-13@gated-at.bofh.it>
In reply to#1239040
On Sun, Oct 4, 2015 at 9:18 AM, Geliang Tang <geliangtang@163.com> wrote:
> BUG_ON() already contain an unlikely compiler flag. Drop it.
It is not the case if CONFIG_BUG and HAVE_ARCH_BUG_ON are not set.

>
> Signed-off-by: Geliang Tang <geliangtang@163.com>
> ---
>  mm/nommu.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/mm/nommu.c b/mm/nommu.c
> index 1e0f168..92be862 100644
> --- a/mm/nommu.c
> +++ b/mm/nommu.c
> @@ -578,16 +578,16 @@ static noinline void validate_nommu_regions(void)
>                 return;
>
>         last = rb_entry(lastp, struct vm_region, vm_rb);
> -       BUG_ON(unlikely(last->vm_end <= last->vm_start));
> -       BUG_ON(unlikely(last->vm_top < last->vm_end));
> +       BUG_ON(last->vm_end <= last->vm_start);
> +       BUG_ON(last->vm_top < last->vm_end);
>
>         while ((p = rb_next(lastp))) {
>                 region = rb_entry(p, struct vm_region, vm_rb);
>                 last = rb_entry(lastp, struct vm_region, vm_rb);
>
> -               BUG_ON(unlikely(region->vm_end <= region->vm_start));
> -               BUG_ON(unlikely(region->vm_top < region->vm_end));
> -               BUG_ON(unlikely(region->vm_start < last->vm_top));
> +               BUG_ON(region->vm_end <= region->vm_start);
> +               BUG_ON(region->vm_top < region->vm_end);
> +               BUG_ON(region->vm_start < last->vm_top);
>
>                 lastp = p;
>         }
> --
> 2.5.0
>
>
> --
> To unsubscribe, send a message with 'unsubscribe linux-mm' in
> the body to majordomo@kvack.org.  For more info on Linux MM,
> see: http://www.linux-mm.org/ .
> Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>



-- 
Leon Romanovsky | Independent Linux Consultant
        www.leon.nu | leon@leon.nu
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1239254 — Re: [PATCH 3/3] mm/nommu: drop unlikely behind BUG_ON()

FromDavidlohr Bueso <dave@stgolabs.net>
Date2015-10-05 04:10 +0200
SubjectRe: [PATCH 3/3] mm/nommu: drop unlikely behind BUG_ON()
Message-ID<qg3nX-1K6-9@gated-at.bofh.it>
In reply to#1239097
On Sun, 04 Oct 2015, Leon Romanovsky wrote:

>On Sun, Oct 4, 2015 at 9:18 AM, Geliang Tang <geliangtang@163.com> wrote:
>> BUG_ON() already contain an unlikely compiler flag. Drop it.
>It is not the case if CONFIG_BUG and HAVE_ARCH_BUG_ON are not set.

Yeah, but that's like the 1% of the cases -- and those probably don't even care
about the branch prediction (I could be wrong). So overall I like getting rid of
explicit BUG_ON(unlikely(... calls. In fact there's a _reason_ why there are so
few of them in the kernel.

Thanks,
Davidlohr
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1239330 — Re: [PATCH 3/3] mm/nommu: drop unlikely behind BUG_ON()

FromLeon Romanovsky <leon@leon.nu>
Date2015-10-05 10:00 +0200
SubjectRe: [PATCH 3/3] mm/nommu: drop unlikely behind BUG_ON()
Message-ID<qg8QG-14p-5@gated-at.bofh.it>
In reply to#1239254
On Sun, Oct 04, 2015 at 07:04:06PM -0700, Davidlohr Bueso wrote:
> On Sun, 04 Oct 2015, Leon Romanovsky wrote:
> 
> >On Sun, Oct 4, 2015 at 9:18 AM, Geliang Tang <geliangtang@163.com> wrote:
> >>BUG_ON() already contain an unlikely compiler flag. Drop it.
> >It is not the case if CONFIG_BUG and HAVE_ARCH_BUG_ON are not set.
> 
> Yeah, but that's like the 1% of the cases -- and those probably don't even care
> about the branch prediction (I could be wrong). So overall I like getting rid of
> explicit BUG_ON(unlikely(... calls. In fact there's a _reason_ why there are so
> few of them in the kernel.
I agree with you that this change is welcomed and I would like to see it
is accepted.

My main concern that I would expect to see it's coming after the change
of BUG_ON definition to be similar in all places, with "unlikely" in all
definitions, and not instead.

> 
> Thanks,
> Davidlohr
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1239251 — Re: [PATCH 3/3] mm/nommu: drop unlikely behind BUG_ON()

FromDavidlohr Bueso <dave@stgolabs.net>
Date2015-10-05 04:00 +0200
SubjectRe: [PATCH 3/3] mm/nommu: drop unlikely behind BUG_ON()
Message-ID<qg3ei-1jw-7@gated-at.bofh.it>
In reply to#1239040
On Sun, 04 Oct 2015, Geliang Tang wrote:

>BUG_ON() already contain an unlikely compiler flag. Drop it.
>
>Signed-off-by: Geliang Tang <geliangtang@163.com>

Acked-by: Davidlohr Bueso <dave@stgolabs.net>

... but I believe you do have some left:

drivers/scsi/scsi_lib.c:                BUG_ON(unlikely(count > ivecs));
drivers/scsi/scsi_lib.c:                BUG_ON(unlikely(count > queue_max_integrity_segments(rq->q)));
kernel/sched/core.c:    BUG_ON(unlikely(task_stack_end_corrupted(prev)));
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1239258 — Re: [PATCH 3/3] mm/nommu: drop unlikely behind BUG_ON()

FromGeliang Tang <geliangtang@163.com>
Date2015-10-05 04:40 +0200
SubjectRe: [PATCH 3/3] mm/nommu: drop unlikely behind BUG_ON()
Message-ID<qg3QZ-2nk-3@gated-at.bofh.it>
In reply to#1239251
On Sun, Oct 04, 2015 at 06:50:55PM -0700, Davidlohr Bueso wrote:
> On Sun, 04 Oct 2015, Geliang Tang wrote:
> 
> >BUG_ON() already contain an unlikely compiler flag. Drop it.
> >
> >Signed-off-by: Geliang Tang <geliangtang@163.com>
> 
> Acked-by: Davidlohr Bueso <dave@stgolabs.net>
> 
> ... but I believe you do have some left:
> 
> drivers/scsi/scsi_lib.c:                BUG_ON(unlikely(count > ivecs));
> drivers/scsi/scsi_lib.c:                BUG_ON(unlikely(count > queue_max_integrity_segments(rq->q)));
> kernel/sched/core.c:    BUG_ON(unlikely(task_stack_end_corrupted(prev)));

Thanks for your review, the left have been sended out already in two other patches.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1239272 — Re: [PATCH 3/3] mm/nommu: drop unlikely behind BUG_ON()

FromDavidlohr Bueso <dave@stgolabs.net>
Date2015-10-05 05:40 +0200
SubjectRe: [PATCH 3/3] mm/nommu: drop unlikely behind BUG_ON()
Message-ID<qg4N3-3JF-3@gated-at.bofh.it>
In reply to#1239258
On Mon, 05 Oct 2015, Geliang Tang wrote:

>On Sun, Oct 04, 2015 at 06:50:55PM -0700, Davidlohr Bueso wrote:
>> On Sun, 04 Oct 2015, Geliang Tang wrote:
>>
>> >BUG_ON() already contain an unlikely compiler flag. Drop it.
>> >
>> >Signed-off-by: Geliang Tang <geliangtang@163.com>
>>
>> Acked-by: Davidlohr Bueso <dave@stgolabs.net>
>>
>> ... but I believe you do have some left:
>>
>> drivers/scsi/scsi_lib.c:                BUG_ON(unlikely(count > ivecs));
>> drivers/scsi/scsi_lib.c:                BUG_ON(unlikely(count > queue_max_integrity_segments(rq->q)));
>> kernel/sched/core.c:    BUG_ON(unlikely(task_stack_end_corrupted(prev)));
>
>Thanks for your review, the left have been sended out already in two other patches.

So given that the 'unlikely' is based on CONFIG_BUG/HAVE_ARCH_BUG_ON, the
changelog needs to be rewritten. Ie mentioning at least why it should be
ok to drop the redundant predictions: (1) For !CONFIG_BUG cases, the bug call
is a no-op, so we couldn't care less and the change is ok. (2) ppc and
mips, which HAVE_ARCH_BUG_ON, do not rely on branch predictions as it seems
to be pointless[1] and thus callers should not be trying to push an optimization
in the first place.

Also, I think that all the changes should be in the same patch. Logically,
this is a tree wide change, and trivial enough. But I don't really have a
preference.

Thanks,
Davidlohr

[1] http://lkml.iu.edu/hypermail/linux/kernel/1101.3/02289.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web