[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v3 09/23] xsplice: Add support for bug frames. (v4)



. snip..
> There is a neater way of doing this, which doesn't involve having "if (
> regular ) else if ( xsplice )" logic chains through the code.

s/chains/chain/

There is only one that uses the 'xsplice' name in it:-)

The other two are wrapped with the 'is_patch'.
> 
> Given a
> 
> struct virtual_region
> {
>     struct list_head list;
>     unsigned long start, size;
> 
>     struct bug_frame *foo;
>     struct exception_table_entry *bar;
> };
> 
> The init code can construct one for the base hypervisor, and xsplice can
> add or remove entries from the list.  Then, the trap routines search the
> virtual region list for [start, size) and follow the appropriate pointers.

You are suggesting that on bootup we parse the the __stop_bug_frames_[0-3]
(different on ARM), and create an linked list to contain those.

Then xSplice can call in this API to add their own - and on unload it can
unlink them and free them.

If m understanding is correct - while it is certainly much nicer, it has 
drawbacks:
 - Increases the code to now handle the linked list and all the code around it
   (And correspondingly we may have now some extra bugs to track).
 - Bigger memory consumption - we now to have to consume memory for this list - 
even
   for the built-in ones.
 - More code to do for v1 of this patchset.

Can we perhaps we can make this a lesser priority and keep it the existing
if ( .. ) else if (xsplice_find_bug()..) code construct for Xen 4.7?

Thanks.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.