[LITMUS^RT] fix admission of suspended tasks

Björn Brandenburg bbb at mpi-sws.org
Sun Jun 9 00:23:01 CEST 2013


Hi everyone,

as was discussed a while ago on this list, admission of suspended tasks was previously never really tested. Consequently, it was quite broken.  I've pushed a patch series that corrects this problem for all plugins. Further, to prevent this problem from creeping in again, I've added two test cases to liblitmus. The patches can be found in the prop/admission-fixes branches on Github.

	LITMUS^RT:	https://github.com/LITMUS-RT/litmus-rt/commits/prop/admission-fixes

	liblitmus: 	https://github.com/LITMUS-RT/liblitmus/commits/prop/admission-fixes

If there are no objections, I'll merge the patches some time next week. Glenn, could you please have a look?

Thanks,
Björn


commit af6201aaea499dacbed52c1436ad3393cd9948fc
Author: Bjoern Brandenburg <bbb at mpi-sws.org>
Date:   Sun Jun 9 00:02:53 2013 +0200

    PFAIR: fix admission of suspended tasks
    
    The PFAIR would not properly schedule tasks that were admitted while
    being suspended. This patch changes the task_new() handler to set the
    "needs to be requeued" flag on suspended tasks, which is required to
    ensure that they are processed correctly by the wake_up() handler.

 litmus/sched_pfair.c |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

commit a2b73241b75f594401b64317801bfca0515f47eb
Author: Bjoern Brandenburg <bbb at mpi-sws.org>
Date:   Sat Jun 8 23:25:12 2013 +0200

    C-EDF: fix admission of suspended tasks
    
    This patch fixes admission of suspended tasks under the P-FP plugin
    analogously to commit 3088111567f334cccff1123f9bd97f2ba52af944.

 litmus/sched_cedf.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

commit 3088111567f334cccff1123f9bd97f2ba52af944
Author: Bjoern Brandenburg <bbb at mpi-sws.org>
Date:   Sat Jun 8 23:15:48 2013 +0200

    GSN-EDF: fix admission of suspended tasks
    
    In the task_new() handler, don't process a job arrival event if the
    task is actually suspended. This fixes the admission of suspended
    tasks.

 litmus/sched_gsn_edf.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

commit 244d30476a6fa49d67c13ecf3751d2fa33785b4a
Author: Bjoern Brandenburg <bbb at mpi-sws.org>
Date:   Sat Jun 8 23:06:20 2013 +0200

    P-FP: fix admission of suspended task
    
    This commit fixes admission of suspended tasks under the P-FP plugin
    analogously to commit 78ae3306ff8b63a4592044aa28c2f2cbc1d36b20.

 litmus/sched_pfp.c |    9 +++------
 1 files changed, 3 insertions(+), 6 deletions(-)

commit 78ae3306ff8b63a4592044aa28c2f2cbc1d36b20
Author: Bjoern Brandenburg <bbb at mpi-sws.org>
Date:   Sat Jun 8 22:11:41 2013 +0200

    PSN-EDF: fix admission of suspended task
    
    The PSN-EDF plugin used to crash when trying to admit a suspended
    task. This patch fixes the task_new() handler to tolerate this case.

 litmus/sched_psn_edf.c |   19 +++++++++++++------
 1 files changed, 13 insertions(+), 6 deletions(-)





More information about the litmus-dev mailing list