On Wed, 2011-03-09 at 20:32 +0000, Konrad Rzeszutek Wilk wrote:
> On Thu, Mar 03, 2011 at 05:10:12PM +0000, Ian Campbell wrote:
> > Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxxxxx>
> > Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
>
> You cloned yourself?
The first is from the original linux-2.6.18-xen.hg commit.
The second is from today as I forward the change upstream.
I wasn't really sure what to do with the historical signed-off-by so I
decided to leave it, just as I would have done if it had been someone
else's.
Ian.
>
> > [ijc: forward ported from linux-2.6.18-xen.hg 325:b2768401db94]
> > ---
> > drivers/xen/events.c | 13 ++++++-------
> > 1 files changed, 6 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/xen/events.c b/drivers/xen/events.c
> > index 75cc6f5..1fc3192 100644
> > --- a/drivers/xen/events.c
> > +++ b/drivers/xen/events.c
> > @@ -1026,6 +1026,8 @@ irqreturn_t xen_debug_interrupt(int irq, void *dev_id)
> > }
> >
> > static DEFINE_PER_CPU(unsigned, xed_nesting_count);
> > +static DEFINE_PER_CPU(unsigned int, last_word_idx) = { BITS_PER_LONG - 1 };
> > +static DEFINE_PER_CPU(unsigned int, last_bit_idx) = { BITS_PER_LONG - 1 };
> >
> > /*
> > * Mask out the i least significant bits of w
> > @@ -1043,8 +1045,6 @@ static DEFINE_PER_CPU(unsigned, xed_nesting_count);
> > */
> > static void __xen_evtchn_do_upcall(void)
> > {
> > - static unsigned int last_word_idx = BITS_PER_LONG - 1;
> > - static unsigned int last_bit_idx = BITS_PER_LONG - 1;
> > int word_idx, bit_idx;
> > int cpu = get_cpu();
> > struct shared_info *s = HYPERVISOR_shared_info;
> > @@ -1065,8 +1065,8 @@ static void __xen_evtchn_do_upcall(void)
> > #endif
> > pending_words = xchg(&vcpu_info->evtchn_pending_sel, 0);
> >
> > - word_idx = last_word_idx;
> > - bit_idx = last_bit_idx;
> > + word_idx = __this_cpu_read(last_word_idx);
> > + bit_idx = __this_cpu_read(last_bit_idx);
> >
> > while (pending_words != 0) {
> > unsigned long pending_bits;
> > @@ -1121,9 +1121,8 @@ static void __xen_evtchn_do_upcall(void)
> > * If this is the final port processed, we'll
> > * pick up here+1 next time.
> > */
> > - last_word_idx = word_idx;
> > - last_bit_idx = bit_idx;
> > -
> > + __this_cpu_write(last_word_idx, word_idx);
> > + __this_cpu_write(last_bit_idx, bit_idx);
> > } while (bit_idx != BITS_PER_LONG - 1);
> >
> > pending_bits = active_evtchns(cpu, s, word_idx);
> > --
> > 1.5.6.5
> >
> >
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@xxxxxxxxxxxxxxxxxxx
> > http://lists.xensource.com/xen-devel
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|