Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 35520634 authored by Tim Murray's avatar Tim Murray
Browse files

Boost priority of short-running SF FIFO threads slightly.

The short-running FIFO threads should preempt the SurfaceFlinger main
thread in order to prevent deadlock.

bug 31223682

Change-Id: I29e7b4b8439bb876998a8aeeb2b8d6ee5b6b7d36
parent 66986783
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -385,7 +385,7 @@ DispSync::DispSync(const char* name) :
    mThread->run("DispSync", PRIORITY_URGENT_DISPLAY + PRIORITY_MORE_FAVORABLE);
    // set DispSync to SCHED_FIFO to minimize jitter
    struct sched_param param = {0};
    param.sched_priority = 1;
    param.sched_priority = 2;
    if (sched_setscheduler(mThread->getTid(), SCHED_FIFO, &param) != 0) {
        ALOGE("Couldn't set SCHED_FIFO for DispSyncThread");
    }
+1 −1
Original line number Diff line number Diff line
@@ -471,7 +471,7 @@ void SurfaceFlinger::init() {

        // set SFEventThread to SCHED_FIFO to minimize jitter
        struct sched_param param = {0};
        param.sched_priority = 1;
        param.sched_priority = 2;
        if (sched_setscheduler(mSFEventThread->getTid(), SCHED_FIFO, &param) != 0) {
            ALOGE("Couldn't set SCHED_FIFO for SFEventThread");
        }
+1 −1
Original line number Diff line number Diff line
@@ -467,7 +467,7 @@ void SurfaceFlinger::init() {

    // set SFEventThread to SCHED_FIFO to minimize jitter
    struct sched_param param = {0};
    param.sched_priority = 1;
    param.sched_priority = 2;
    if (sched_setscheduler(mSFEventThread->getTid(), SCHED_FIFO, &param) != 0) {
        ALOGE("Couldn't set SCHED_FIFO for SFEventThread");
    }