All of lore.kernel.org
 help / color / mirror / Atom feed
* Performance Question: BUG_ON vs. WARN_ON_ONCE
@ 2008-07-13 23:57 Ryan Hope
  2008-07-14  3:36 ` Eduard - Gabriel Munteanu
  0 siblings, 1 reply; 7+ messages in thread
From: Ryan Hope @ 2008-07-13 23:57 UTC (permalink / raw)
  To: LKML, Nick Piggin

I was porting the -rt branch to the latest -mm kernel and encountered
a bug. The
replace-bugon-by-warn-on.patch patch make the following change:

diff --git a/18f7d025bb2e5762fd4063cce0b6e2342475c55c:arch/x86/mm/highmem_32.c
b/db090b52f9d2f9088a4ff9bce530e3c234c8e3af:arch/x86/mm/highmem_32.c
index 165c871ba9af0211e0c939e0bc2212750d4bf39f..402ecdd04d7818fd24e921c94b698faa19383b71
100644
--- a/18f7d025bb2e5762fd4063cce0b6e2342475c55c:arch/x86/mm/highmem_32.c
+++ b/db090b52f9d2f9088a4ff9bce530e3c234c8e3af:arch/x86/mm/highmem_32.c
@@ -84,7 +84,7 @@ void *kmap_atomic_prot(struct page *page, enum
km_type type, pgprot_t prot)

 	idx = type + KM_TYPE_NR*smp_processor_id();
 	vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx);
-	BUG_ON(!pte_none(*(kmap_pte-idx)));
+	WARN_ON_ONCE(!pte_none(*(kmap_pte-idx)));
 	set_pte(kmap_pte-idx, mk_pte(page, prot));
 	arch_flush_lazy_mmu_mode();

However, this causes the kernel to crash or oops under certain loads.
Reverting this change makes the error go away. Is there any sort of
performance difference between BUG_ON and WARN_ON_ONCE, I figure the
change was for a reason so I am wondering what will result from this
change. Any info would be appreciated.

-Ryan

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2008-07-14  5:05 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-13 23:57 Performance Question: BUG_ON vs. WARN_ON_ONCE Ryan Hope
2008-07-14  3:36 ` Eduard - Gabriel Munteanu
2008-07-14  4:10   ` Ryan Hope
2008-07-14  4:12     ` Ryan Hope
2008-07-14  4:36     ` Eduard - Gabriel Munteanu
2008-07-14  4:51       ` Ryan Hope
2008-07-14  5:05       ` Nick Piggin

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.