[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Re: [PATCH RFC V2 3/5] jump_label: if a key has already been initialized, don't nop it out
On Mon, Oct 10, 2011 at 12:58:19PM -0700, Jeremy Fitzhardinge wrote: > > Hi, > > > > I just realized that the early call to jump_label_inc(), isn't being > > honored with this patch until later when we invoke jump_label_init(). > > That strikes me as being inconsistent. When jump_label_inc() returns we > > should expect the branch to be updated. > > Why is that? It looks to me like it will unconditionally update the > instruction, irrespective of whether _init() has been called? > No. jump_label_init(), sets up key->entries, to point into the jump table...before that jump_label_update(), doesn't know where the table is located, and will just return, without doing the update. > > Thus, I think what probably want is to add a new 'int jump_label_init' > > flag. If its not set we can call 'jump_label_init()' from > > jump_label_inc()/dec(). > > Hm. I worry that it may end up calling jump_label_init() in an > unexpected context, especially since it may well be config-dependent, or > adding a jump_label_inc() later on starts mysteriously failing. good point. > > > And jump_label_init() can avoid initialization > > if its already set. > > That doesn't seem worthwhile in itself. I suspect the number of "early" > jump_label_incs will be very small (or we should look at doing the init > earlier). > > J I have it as 'early_initcall()', but perhaps it should be moved into init/main.c. I don't think there's any reason it can't be done super early. So I think this might be the best answer. It will also simplify your series. Thanks, -Jason _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |