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

[Xen-changelog] [xen staging] xen:arm: we never get into schedule_tail() with prev==current



commit 5945b57b055abcab803d23974e95c3657ef597fb
Author:     Andrii Anisov <andrii_anisov@xxxxxxxx>
AuthorDate: Wed May 8 12:59:38 2019 +0300
Commit:     Julien Grall <julien.grall@xxxxxxx>
CommitDate: Thu May 16 16:47:09 2019 +0100

    xen:arm: we never get into schedule_tail() with prev==current
    
    ARM's schedule_tail() is called from two places: context_switch() and
    continue_new_vcpu(). Both functions are always called with
    prev!=current. So replace the correspondent check in schedule_tail()
    with ASSERT() which is the development (debug) build guard.
    
    Signed-off-by: Andrii Anisov <andrii_anisov@xxxxxxxx>
    Reviewed-by: Dario Faggioli <dfaggioli@xxxxxxxx>
    Acked-by: Julien Grall <julien.grall@xxxxxxx>
---
 xen/arch/arm/domain.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 915ae0b4c6..ff330b35e6 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -305,6 +305,8 @@ static void update_runstate_area(struct vcpu *v)
 
 static void schedule_tail(struct vcpu *prev)
 {
+    ASSERT(prev != current);
+
     ctxt_switch_from(prev);
 
     ctxt_switch_to(current);
@@ -313,8 +315,7 @@ static void schedule_tail(struct vcpu *prev)
 
     context_saved(prev);
 
-    if ( prev != current )
-        update_runstate_area(current);
+    update_runstate_area(current);
 
     /* Ensure that the vcpu has an up-to-date time base. */
     update_vcpu_system_time(current);
--
generated by git-patchbot for /home/xen/git/xen.git#staging

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/xen-changelog

 


Rackspace

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