Messages in this thread Patch in this message | | | From | Michael Buesch <> | Subject | Re: [PATCH 2.6.6] bootmem.c cleanup | Date | Fri, 14 May 2004 22:43:45 +0200 |
| |
On Friday 14 May 2004 22:33, you wrote: > Please don't put expressions whihc actually change state inside BUG_ON(). > Someone may decide to make BUG_ON() a no-op to save space. > > I'm not aware of anyone actually trying that, but it's a good objective.
Ok, so what about the following?
-- Regards Michael Buesch [ http://www.tuxsoft.de.vu ]
--- linux-2.6.6/mm/bootmem.c.orig 2004-05-14 21:55:00.000000000 +0200 +++ linux-2.6.6/mm/bootmem.c 2004-05-14 22:42:48.000000000 +0200 @@ -82,14 +82,11 @@ PAGE_SIZE-1)/PAGE_SIZE; unsigned long end = (addr + size + PAGE_SIZE-1)/PAGE_SIZE; - if (!size) BUG(); + BUG_ON(!size); + BUG_ON(sidx >= eidx); + BUG_ON((addr >> PAGE_SHIFT) >= bdata->node_low_pfn); + BUG_ON(end > bdata->node_low_pfn); - if (sidx >= eidx) - BUG(); - if ((addr >> PAGE_SHIFT) >= bdata->node_low_pfn) - BUG(); - if (end > bdata->node_low_pfn) - BUG(); for (i = sidx; i < eidx; i++) if (test_and_set_bit(i, bdata->node_bootmem_map)) { #ifdef CONFIG_DEBUG_BOOTMEM @@ -110,9 +107,8 @@ unsigned long eidx = (addr + size - bdata->node_boot_start)/PAGE_SIZE; unsigned long end = (addr + size)/PAGE_SIZE; - if (!size) BUG(); - if (end > bdata->node_low_pfn) - BUG(); + BUG_ON(!size); + BUG_ON(end > bdata->node_low_pfn); if (addr < bdata->last_success) bdata->last_success = addr; @@ -124,7 +120,7 @@ sidx = start - (bdata->node_boot_start/PAGE_SIZE); for (i = sidx; i < eidx; i++) { - if (!test_and_clear_bit(i, bdata->node_bootmem_map)) + if (unlikely(!test_and_clear_bit(i, bdata->node_bootmem_map))) BUG(); } } @@ -140,7 +136,7 @@ * * alignment has to be a power of 2 value. * - * NOTE: This function is _not_ reenetrant. + * NOTE: This function is _not_ reentrant. */ static void * __init __alloc_bootmem_core(struct bootmem_data *bdata, unsigned long size, @@ -152,7 +148,6 @@ if(!size) { printk("__alloc_bootmem_core(): zero-sized request\n"); - dump_stack(); BUG(); } BUG_ON(align & (align-1)); @@ -260,7 +255,7 @@ unsigned long idx; unsigned long *map; - if (!bdata->node_bootmem_map) BUG(); + BUG_ON(!bdata->node_bootmem_map); count = 0; /* first extant page of the node */ - 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/
| |