Messages in this thread Patch in this message | | | Date | Sun, 13 Jul 2008 19:57:37 -0400 | From | "Ryan Hope" <> | Subject | Performance Question: BUG_ON vs. WARN_ON_ONCE |
| |
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
| |