From bddb98662e78ea32ec12dea52611f79466c6065a Mon Sep 17 00:00:00 2001 From: Juergen Gross Date: Fri, 2 Oct 2015 13:43:35 +0200 Subject: [PATCH] use masking operation instead of test_bit for RTDS bits Use a bit mask for testing of a set bit instead of test_bit in case no atomic operation is needed, as this will lead to smaller and more effective code. Signed-off-by: Juergen Gross Reviewed-by: Jan Beulich Reviewed-by: Andrew Cooper Acked-by: Dario Faggioli --- xen/common/sched_rt.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xen/common/sched_rt.c b/xen/common/sched_rt.c index 4b5c5e4c5b..6a341b11f0 100644 --- a/xen/common/sched_rt.c +++ b/xen/common/sched_rt.c @@ -931,7 +931,7 @@ rt_vcpu_sleep(const struct scheduler *ops, struct vcpu *vc) cpu_raise_softirq(vc->processor, SCHEDULE_SOFTIRQ); else if ( __vcpu_on_q(svc) ) __q_remove(svc); - else if ( test_bit(__RTDS_delayed_runq_add, &svc->flags) ) + else if ( svc->flags & RTDS_delayed_runq_add ) clear_bit(__RTDS_delayed_runq_add, &svc->flags); } @@ -1064,7 +1064,7 @@ rt_vcpu_wake(const struct scheduler *ops, struct vcpu *vc) * the Runqueue/DepletedQ. Instead, we set a flag so that it will be * put on the Runqueue/DepletedQ after the context has been saved. */ - if ( unlikely(test_bit(__RTDS_scheduled, &svc->flags)) ) + if ( unlikely(svc->flags & RTDS_scheduled) ) { set_bit(__RTDS_delayed_runq_add, &svc->flags); return; -- 2.39.5