|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-devel
[Xen-devel] Re: Questions about current panic/BUG_ON/BUG usage in	XEN
 
On 22/9/08 09:01, "Ke, Liping" <liping.ke@xxxxxxxxx> wrote:
> 1) Lots of parameter's checking using BUG_ON where it would be nicer if we use
> ASSERT instead?
I tend to use ASSERT() where I think the error condition is *really*
unlikely or could incur an unwanted overhead on non-debug builds. I don't
use it where I have an inkling that a BUG_ON() might fire when I don't want
it to.
> 2) Some errors which only impact a device/domain cause whole machine panic
> such as
> I8254.c (c:\upstream\xen\xen\arch\x86\hvm):    BUG_ON(bytes != 1);
> Hvm.c (c:\upstream\xen\xen\arch\x86\hvm):    BUG_ON(bytes != 1);
Both valid because they are handlers for a single I/O port, and code in
intercept.c will prevent multi-byte I/O port accesses from reaching the
handler.
> Just want to know whether we need to do some clean up jobs and made some panic
> criteria?
No, if you are seeing BUG_ON()s firing then we only remove the BUG_ON() or
panic() if its assumptions are invalid. Also panic/BUG_ON is not great if we
are relying on correct BIOS tables or timely operation of asynchronous
hardware (I'm thinking programming of VT-d engines, for example).
Assertion/BUG_ON/panic about self-consistency of the hypervisor itself
should absolutely stay as they are.
 -- Keir
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 
 |   
 
| <Prev in Thread] | 
Current Thread | 
[Next in Thread> |  
- [Xen-devel] Re: Questions about current panic/BUG_ON/BUG usage in	XEN,
Keir Fraser <=
  
 |  
  
 | 
    | 
  
  
    |   | 
    |