tree f72eed7776442d3d51c27d9c2fb1b34296376b53
parent c1c7252f1901bef3888bd4814e738fe4b87466e4
author Wei Wang <wvw@google.com> 1603751208 -0700
committer Wei Wang <wvw@google.com> 1613176227 +0000

ANDROID: GKI: enable CONFIG_FAIR_GROUP_SCHED

Enable CONFIG_FAIR_GROUP_SCHED with proper tuning can help prioritize
important work in Android. The feature was taken off due to improper
setting on the background tasks' share. Now Tasks in root group has
already moved into a newly created system subgroup, so the shares can be
properly set.

+----------------------------------------------------------------------------------------+
| Cold App Launch Time (* w/ prio120 8 threads running in root cpuset)                   |
+----------------------------------------+--------+------+---------+-----------+---------+
|                                        | chrome | maps | youtube | playstore | setting |
+----------------------------------------+--------+------+---------+-----------+---------+
| No CONFIG_FAIR_GROUP_SCHED support(*)  |    591 | 1314 |     887 |      1952 |     551 |
+----------------------------------------+--------+------+---------+-----------+---------+
| CONFIG_FAIR_GROUP_SCHED w/ 1% limit(*) |    567 |  637 |     668 |      1450 |     529 |
+----------------------------------------+--------+------+---------+-----------+---------+
| No stress runnning (best case)         |    416 |  463 |     484 |      1075 |     363 |
+----------------------------------------+--------+------+---------+-----------+---------+

Bug: 171740453
Test: Build and boot
Signed-off-by: Wei Wang <wvw@google.com>
Change-Id: Ibb7e48c93136e3967da6381d7c0c94d0cdaee443
