Re: [Xen-devel] [PATCH] common/page_alloc: Drop BOOT_BUG_ON()

2017-08-09 Thread Julien Grall

Hi Andrew,

On 08/08/17 18:28, Andrew Cooper wrote:

Regular BUG_ON()'s work fine by this point on all architectures, so drop the
custom infrastructure.  Substitute BUG_ON(1) for BUG().

Signed-off-by: Andrew Cooper 


FWIW:

Acked-by: Julien Grall 

Cheers,


---
CC: Jan Beulich 
CC: Stefano Stabellini 
CC: Julien Grall 
---
 xen/common/page_alloc.c | 16 
 1 file changed, 4 insertions(+), 12 deletions(-)

diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 8bcef6a..64fe951 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -203,12 +203,6 @@ struct scrub_region {
 static struct scrub_region __initdata region[MAX_NUMNODES];
 static unsigned long __initdata chunk_size;

-static void __init boot_bug(int line)
-{
-panic("Boot BUG at %s:%d", __FILE__, line);
-}
-#define BOOT_BUG_ON(p) if ( p ) boot_bug(__LINE__);
-
 static void __init bootmem_region_add(unsigned long s, unsigned long e)
 {
 unsigned int i;
@@ -223,9 +217,8 @@ static void __init bootmem_region_add(unsigned long s, 
unsigned long e)
 if ( s < bootmem_region_list[i].e )
 break;

-BOOT_BUG_ON((i < nr_bootmem_regions) && (e > bootmem_region_list[i].s));
-BOOT_BUG_ON(nr_bootmem_regions ==
-(PAGE_SIZE / sizeof(struct bootmem_region)));
+BUG_ON((i < nr_bootmem_regions) && (e > bootmem_region_list[i].s));
+BUG_ON(nr_bootmem_regions == (PAGE_SIZE / sizeof(struct bootmem_region)));

 memmove(&bootmem_region_list[i+1], &bootmem_region_list[i],
 (nr_bootmem_regions - i) * sizeof(*bootmem_region_list));
@@ -328,7 +321,7 @@ unsigned long __init alloc_boot_pages(
 unsigned long pg, _e;
 unsigned int i = nr_bootmem_regions;

-BOOT_BUG_ON(!nr_bootmem_regions);
+BUG_ON(!nr_bootmem_regions);

 while ( i-- )
 {
@@ -362,8 +355,7 @@ unsigned long __init alloc_boot_pages(
 return pg;
 }

-BOOT_BUG_ON(1);
-return 0;
+BUG();
 }





--
Julien Grall

___
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH] common/page_alloc: Drop BOOT_BUG_ON()

2017-08-09 Thread Andrew Cooper
On 09/08/17 10:14, Jan Beulich wrote:
 On 08.08.17 at 19:28,  wrote:
>> Regular BUG_ON()'s work fine by this point on all architectures, so drop the
>> custom infrastructure.  Substitute BUG_ON(1) for BUG().
>>
>> Signed-off-by: Andrew Cooper 
> Acked-by: Jan Beulich 
> with one question:
>
>> @@ -362,8 +355,7 @@ unsigned long __init alloc_boot_pages(
>>  return pg;
>>  }
>>  
>> -BOOT_BUG_ON(1);
>> -return 0;
>> +BUG();
>>  }
> Are all versions of gcc we formally support happy with the dropped
> return?

BUG() has an unreachable() at the end of it, which is do {} while (1)
for older compilers.

We already have constructs like this sporadically over the code,
oos_snapshot_lookup() as an example.

~Andrew

___
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH] common/page_alloc: Drop BOOT_BUG_ON()

2017-08-09 Thread Jan Beulich
>>> On 08.08.17 at 19:28,  wrote:
> Regular BUG_ON()'s work fine by this point on all architectures, so drop the
> custom infrastructure.  Substitute BUG_ON(1) for BUG().
> 
> Signed-off-by: Andrew Cooper 

Acked-by: Jan Beulich 
with one question:

> @@ -362,8 +355,7 @@ unsigned long __init alloc_boot_pages(
>  return pg;
>  }
>  
> -BOOT_BUG_ON(1);
> -return 0;
> +BUG();
>  }

Are all versions of gcc we formally support happy with the dropped
return?

Jan


___
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel