• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[Kernel] [EAS] Nebula: Energy Aware Scheduling: V10.1.0.O [09/20/2017]

Status
Not open for further replies.
Search This thread

Eliminater74

Recognized Developer
Jan 25, 2014
3,956
16,511
Clearwater
lightningbolt.duckdns.org
eQJPh7iQtvPJp-xw2KdA7kQB6P8b-zctlIKLoNrTjvSYbpY175U1YYjWP-mQuiTd76Fexs_VAge6dauWp8P7IE6H_X939yd4j0FGMMWzvlk_FUNMivYuttMgdRzBbd1NmO7LEUE5mPZU-0WQpJ74bRN_msnV7kRiBmnOCKh1az8Ape881FQjTKaEc5AJe0ClA2MBx3ZYkcpA6gg3HWGHc1P3JFfOUoGmcubisLeusQGgsJ7pCqoJ2YYKJE5mrtl9sT5j-Xs0L7QAMCHHit2XvB4Tzz6XadSph92sOUmmCuBNsoH-A-1h8yWUSC3LAsF2XJGlbWmLv3D6sgY0s8eL2F91xPbRhRDZ0HoSgYz0rlmrSMGb23uDSY66CKl43r_hao8_x8oD-zB4alXPfo_gbYKczWcT7J-pbB4MJlX9GFNXEXDGgBsA3Bc-glVfAwyvjkkBN_1QM6m1AqZFpaTTLpiu6MNsICv6kh9P4e0kpJbbQ7YpI6QhfvjoSz3RBPlwpb3_nbUyjbEd_Wz2zc_gK78m26XQBeWlaUs10mDieHZ2rUOWKy-uayvmw90EUYE48XrZUNLou83InRgFBYdQoTy0lJcZyJFYOyMNTmak-U5Z5uM4uw=w1008-h180-no
xRji1kxVLC-QtdJcofpvN5832pf7gpE3pgsZQU8WH1X-1dLjemNpUcEtOzPvv5Aox0anHKFOGBGwpjXNGro3iQ8wPFM5aw2UWgxh7JG5aPKNCUzoXRnFVQta5mDi6ieLS-5kJAXypRoK7Dn4LM0Y5bT3NovJfLekdYVGm-xfHZRZ2kYGaK42nGqf81UpVArachEhdtpxT9L2GJuGT5_TPXKIj2A7BHDTh4oWaeN-KRAdhvBgxu1zKTWIPdYi_r4vtdvXxN8fJinPiJl7A7TC2YILdZdVqvR5hOa1pssppjff29ZT-7RsgXkxC6_h9FAGWGmk9QnJmm_zGUxFFAQYkDut6EnoI6mlGb707SiMU0WyRPYABoFQ3Sw1NGOXn9Ifc4VGeG_A4N1qrHWEC7lYW00Z6cWkN9l392iVIrU7wyaGam-kPaFTMPUmtDWTIi3RX6iAWufszVXZeNT3ZNbcQ3ocwq1iKmyNADoOTpSGV7bUAR9NWCWJjDv7tPm54jAwiltp7mijeyhMuUx3_a5t-dGr3lf2qajnT5ByVI3F0aMbTGdKksBmt4FIJSUpr_22-fQhYxO3i4r44XVxSV-xMNRl85qi9c2m23VPRIoD6OPkFIT4Er6mXA=w492-h134-no

Nebula Strikes Again

PTHiVu2BZER3dHNIAKz76s3ndnygqiTZsT2RD_Eoz69ugZI-oz2kVu7Lr4o-ZS6ep678aHEooxldYkxj9REAtD5gjjIi8UeG4SnhP-qHU9KaeoRjWvu76imN8JeerZ_VvcmrjbZjfze-KNX3R7uYc3jL5e92yYf-zq3RaPy4fVMxPNAfiDptcb9Fbb6zbdwScnaoXg5n643yBLttwPgr3bQs6U1h8NMZPANo6Ax0F6Txx33GFh0FLdrlXxB2HlFEuKQy178SqeR1LWQRcuRF8HdhosHhvLGBa5KXWurpyk1YbpiwAc3awaZSwVXEZRdZ3rmY4qSHMuyupxWY1o8bKXp1utO7d8sHdWPHHmgnCeSAa7EhoXkVl2JQd8nj9Yg656ngLvEl6M-KlPjgqX6m_CRCgIA3e35hAeYJDAlmvenbYXChQgbPHrgAPBZL3fzQW9vFX6xJv-6jqNqf_lyO0QhA9t1JIAQaaN0KakljgA5rmtKcqpriidAGQwZXvyDw-xgGyhvLyyCeH5NXwuNYCErBD-bTq3u5FPi2IvxOdP502BKTwo2CYNhjnJC4qCxaRwuKIJgxZeQz5YM5eIsiBn3Iw6r1f4OUzmaXMI6pTiTGERypmffxHw=w512-h614-no
What is EAS?
Energy Aware Scheduling (EAS) is an enhancement to Linux power management, unifying CPU power control under the Linux kernel. EAS extends the Linux kernel scheduler to make it fully aware of the power/performance capabilities of the CPUs in the system, to optimize energy consumption for advanced multi-core SoCs including big.LITTLE. With EAS, the Linux kernel will use the task load and a CPU ‘Energy Model’ to control task placement to select the optimal CPU to run on.


[ Features And Additions ]


  • CPU governors: SCHED, SCHEDUTIL *NEW*
  • Extra I/O schedulers: BFQ, FIOPS, SIO, FIFO, SIOPLUS, TRIPNDROID, VR, ZEN, MAPLE
  • Overclock up to 2265MHz big cluster and 1728MHz little cluster
  • GPU Overclock 133Mhz up to 652Mhz
  • Sound Control mod that allows users to adjust digital audio gains
  • Backlight Dimmer
  • Button Light Notification
  • KCAL Color Control
  • Double Tap Fingerprint To Sleep and Sweep To Sleep
  • Fading/Pulsating Notification LED
  • Sweep2Sleep
  • Optional Disable FSYNC
  • Optional Disable magnetic cover
  • Home button Mapper
  • USB FastCharge
  • Various patches and fixes
  • Updated with the latest from CAF branch LA.UM.5.5.r1-xxxxx-8x96.0 and EAS from Google's experimental branch.
  • And Various Other Features...

Known Bugs: (Work Arounds)

  • Sound Mod: While playing Music, Switch off/on BoomSound
  • SD Card corruption:
    • [Untested Fix]
    • Reboot back to recovery
    • Mount USB storage
    • Unmout it
    • Reboot
    • [Tested Fix]
    • Flash the last kernel that worked
    • Reboot
    • Flash the latest again
    • Reboot


XDA:DevDB Information
Nebula: Energy Aware Scheduling, Kernel for the HTC 10

Contributors
Eliminater74, thewalkingdude, INDIAN-MAfIA, prstorero
Source Code: https://github.com/DevHTC10/htc10.pme.msm8996.kernel

Kernel Special Features: Energy Aware Scheduling [EAS]

Version Information
Status: Beta

Created 2017-02-06
Last Updated 2017-09-20
 

Eliminater74

Recognized Developer
Jan 25, 2014
3,956
16,511
Clearwater
lightningbolt.duckdns.org
Last edited:

Eliminater74

Recognized Developer
Jan 25, 2014
3,956
16,511
Clearwater
lightningbolt.duckdns.org
Proper Way To Report a Bug: [/CENTER]

There are several apps that can do this process for you, Here is one: PlayStore: SysLog
And here is another: PlayStore: Andy Log (ROOT)

  • ramopps: is an oops/panic logger that writes its logs to RAM before the system
    crashes. It works by logging oopses and panics in a circular buffer. Ramoops
    needs a system with persistent RAM so that the content of that area can
    survive after a restart.
  • logcat: the logoutput of the Android system
  • kernel log: (kmsg / dmesg): the kernel messages
    Additionally there's the last_kmsg which is a dump of the kernel log until the last shutdown.
  • radio log: the log outpur ot your System / BB / RIL communication
  • 4

ramopps: Some Documentation on Ramopps

Normal Logcat:
Code:
adb logcat -v time -d > logcat.log

Radio Logcat:
Code:
adb logcat -b radio -v time -d > logcat_radio.log

Ramoops:
Code:
adb shell su -c cat /sys/fs/pstore/console-ramoops > kmsg.txt

Kernel Log:
Code:
adb shell su -c dmesg > dmesg.log

Last_Kmsg: NOTE:
New location of last_kmsg on Android 6.0 and above: /sys/fs/pstore/console-ramoops

Code:
adb shell su -c "cat /proc/last_kmsg" > last_kmsg.log

NOTES:
  • -v time will include timestamps in the logcats
  • -d will export the complete log.
    If you want to save a continuous log you can remove the -d parameter - then you need to cancel the logging process via CTRL+C.
    To export a continuous kernel log use adb shell su -c "cat /proc/kmsg" > dmesg.log (and cancel it via CTRL+C again).

PS: This Document was taked from another XDA Thread Called: [Reference] How to get useful logs
URL: http://forum.xda-developers.com/showthread.php?t=2185929
Also check this one out: [Tutorial] How To Logcat

I only Revived it a bit for ramopps.
I will update this more at a later time..

[DMESG Help Commands]
Code:
Usage:
 dmesg [options]

Display or control the kernel ring buffer.

Options:
 -C, --clear                 clear the kernel ring buffer
 -c, --read-clear            read and clear all messages
 -D, --console-off           disable printing messages to console
 -E, --console-on            enable printing messages to console
 -F, --file <file>           use the file instead of the kernel log buffer
 -f, --facility <list>       restrict output to defined facilities
 -H, --human                 human readable output
 -k, --kernel                display kernel messages
 -L, --color[=<when>]        colorize messages (auto, always or never)
                               colors are enabled by default
 -l, --level <list>          restrict output to defined levels
 -n, --console-level <level> set level of messages printed to console
 -P, --nopager               do not pipe output into a pager
 -r, --raw                   print the raw message buffer
 -S, --syslog                force to use syslog(2) rather than /dev/kmsg
 -s, --buffer-size <size>    buffer size to query the kernel ring buffer
 -u, --userspace             display userspace messages
 -w, --follow                wait for new messages
 -x, --decode                decode facility and level to readable string
 -d, --show-delta            show time delta between printed messages
 -e, --reltime               show local time and time delta in readable format
 -T, --ctime                 show human readable timestamp (may be inaccurate!)
 -t, --notime                don't print messages timestamp
     --time-format <format>  show time stamp using format:
                               [delta|reltime|ctime|notime|iso]
Suspending/resume will make ctime and iso timestamps inaccurate.

 -h, --help     display this help and exit
 -V, --version  output version information and exit

Supported log facilities:
    kern - kernel messages
    user - random user-level messages
    mail - mail system
  daemon - system daemons
    auth - security/authorization messages
  syslog - messages generated internally by syslogd
     lpr - line printer subsystem
    news - network news subsystem

Supported log levels (priorities):
   emerg - system is unusable
   alert - action must be taken immediately
    crit - critical conditions
     err - error conditions
    warn - warning conditions
  notice - normal but significant condition
    info - informational
   debug - debug-level messages
[LOGCAT Help Commands]
Code:
Usage: logcat [options] [filterspecs]
options include:
  -s              Set default filter to silent.
                  Like specifying filterspec '*:S'
  -f <filename>   Log to file. Default is stdout
  -r <kbytes>     Rotate log every kbytes. Requires -f
  -n <count>      Sets max number of rotated logs to <count>, default 4
  -v <format>     Sets the log print format, where <format> is:

                      brief color long printable process raw tag thread
                      threadtime time usec

  -D              print dividers between each log buffer
  -c              clear (flush) the entire log and exit
  -d              dump the log and then exit (don't block)
  -t <count>      print only the most recent <count> lines (implies -d)
  -t '<time>'     print most recent lines since specified time (implies -d)
  -T <count>      print only the most recent <count> lines (does not imply -d)
  -T '<time>'     print most recent lines since specified time (not imply -d)
                  count is pure numerical, time is 'MM-DD hh:mm:ss.mmm'
  -g              get the size of the log's ring buffer and exit
  -L              dump logs from prior to last reboot
  -b <buffer>     Request alternate ring buffer, 'main', 'system', 'radio',
                  'events', 'crash' or 'all'. Multiple -b parameters are
                  allowed and results are interleaved. The default is
                  -b main -b system -b crash.
  -B              output the log in binary.
  -S              output statistics.
  -G <size>       set size of log ring buffer, may suffix with K or M.
  -p              print prune white and ~black list. Service is specified as
                  UID, UID/PID or /PID. Weighed for quicker pruning if prefix
                  with ~, otherwise weighed for longevity if unadorned. All
                  other pruning activity is oldest first. Special case ~!
                  represents an automatic quicker pruning for the noisiest
                  UID as determined by the current statistics.
  -P '<list> ...' set prune white and ~black list, using same format as
                  printed above. Must be quoted.

filterspecs are a series of
  <tag>[:priority]

where <tag> is a log component tag (or * for all) and priority is:
  V    Verbose (default for <tag>)
  D    Debug (default for '*')
  I    Info
  W    Warn
  E    Error
  F    Fatal
  S    Silent (suppress all output)

'*' by itself means '*:D' and <tag> by itself means <tag>:V.
If no '*' filterspec or -s on command line, all filter defaults to '*:V'.
eg: '*:S <tag>' prints only <tag>, '<tag>:S' suppresses all <tag> log messages.

If not specified on the command line, filterspec is set from ANDROID_LOG_TAGS.

If not specified with -v on command line, format is set from ANDROID_PRINTF_LOG
or defaults to "threadtime"
 
Last edited:

Eliminater74

Recognized Developer
Jan 25, 2014
3,956
16,511
Clearwater
lightningbolt.duckdns.org
NFO NEWS: V7.2.2 is accessible from here as well as the others.
I will clean it up as I can.. I am doing 50 things at once here.. and this part is the most pain in the butt of it all...........

V7.3.0 Is in the works.................................................... Its finished for the most part.. but doing some testing to make sure its stable before I push it up............

Please bare with me on this thread................

Thank you all..
 

Eliminater74

Recognized Developer
Jan 25, 2014
3,956
16,511
Clearwater
lightningbolt.duckdns.org
The concept of a simple power-performance tunable that is wholly scheduler
centric is implemented by patches [01-04].
This is where we introduce a ‘global task boosting’ knob which is integrated
with schedutil to allow the scheduler to bias OPP selection. These first 5
patches allow to dynamically tune schedutil up to the point where it behaves
like the existing ‘performance’ governor.

Patches [05-07] extend the basic mechanism to use different boost values for
different tasks. This allows informed runtimes (e.g. Android and ChromeOS) to
feed the scheduler with information related to their knowledge about the
specific demand of different tasks and/or use-cases.
Thanks to SchedTune’s defined interface, the scheduler is now able to collect
simple yet powerful information about tasks: how much the user cares about
their performance.
Although it can be argued that something similar is already provided by the
existing concept of task priority, we believe that the proposed interface is
much more generic and can be further extended to support both OPP selection and
task placement, thus leading in the future to a more comprehensive energy-aware
scheduler driven solution.
These patches enable schedutil to service interactive workloads like touch
screen interaction. Only out of tree cpufreq governors like the Interactive
governor were thus far able to service such use cases.

The last patch in the series introduces the concept of ‘negative boosting’.
Negative boosting is beneficial for mobile devices in scenarios where it is
desired to intentionally reduce the performance of a task by running it at a
lower frequency than the one selected by schedutil.
For certain tasks, like compute intensive background operations or memory
bounded tasks, negative boosting can have measurable energy-saving benefits.
In these cases, a negative SchedTune value allows to bias schedutil towards the
selection of a lower OPP. Importantly, this can be achieved using the same
SchedTune interface.
This patch allows to dynamically tune schedutil up to the point where it
effectively replaces the “powersave” governor.

The patches are based on tip/sched/core:
a225023 - sched/core: Explain sleep/wakeup in a better way

For testing purposes an integration branch, providing the required dependencies
as well as a set of debugging tracepoints, is available here:
git://www.linux-arm.com/linux-pb eas/stune/rfcv2

Test results
============

Extensive testing of the proposed solution has already been done as SchedTune
is shipping on a production mobile device, with benefits observed for key
use-cases (e.g. improved responsiveness and performance of key workloads).

The following synthetic focused tests are used to show functional benefits and
report overheads. All these tests have been performed on an HiKey board, an
octa-core (ARM CortexA53 @1.2GHz) SMP platform, running a Debian image on a
mainline kernel and using schedutil configured with a 1ms rate limit value.


Performance boosting validation
-------------------------------

The functional validation of the boost mechanism has been performed considering
a ramp task generated using the rt-app provided by the LISA testing suite [2].

The ramp is configured as a 16ms periodic task which increases its utilization
by 5% every second, starting from 5% up to 60%. The task is pinned to run on a
single CPU and executed with different boost values:
0%, 15%, 30%, 60% and -100%.

The following table reports:
- the value used to boost the task in each experiment
- the rt-app’s reported performance index:
PerfIndex Avg (the higher the better)
which expresses the average time left from completion of a task
activation (i.e. a fixed amount of work) until its next activation
- the CPU average frequency (FreqAvg)
- the actual boost measured for the PerfIndex and FreqAvg

Boost PerfIndex Actual FreqAvg Actual
value Avg Std Boost [MHz] Boost
0 0.53 0.12 0% 606 0%
15 0.61 0.07 17% 658 9%
30 0.68 0.07 26% 739 22%
60 0.71 0.05 40% 852 41%
-100 -98.84 120.00 -2K% 363 -36%

For positive boost values, SchedTune can improve the performance of a task
(i.e. its time to completion) by a quantity which is proportional to the boost
value. This is reported by the increasingly higher values of the PerfIndex Avg
as well as the average frequencies used to execute the task.

For negative boost values the performance is progressively reduced, in the
reported case of -100% boost we verified that the system runs most of its time
at one of the lowest OPPs (thus providing a behavior similar to the powersave
governor) while still running at higher OPPs when other (not negative boosted)
tasks needs to run. That’s why the reported average frequency (363MHz) is
slightly higher than the minimum OPP (208MHz).

A graphical representation of the task’s behaviors at different boost values
and the corresponding CPUs frequencies is available here:
https://gist.github.com/derkling/8be0a8ac365c935b3df585cb24afec6c

Impact on scheduler performance
-------------------------------

Performance impact has been evaluated using the hackbench test provided by perf
with this command line:

perf bench sched messaging --thread --group 25 --loop 1000

Reported completion times (CTime) in seconds are averages over 10 runs:


| | SchedTune (per-task) boost value |
| Schedutil | 0% | 10% | 90% |
------------------+-----------+------------+------------+------------+
CTime | 12.93 | 13.08 | 13.32 | 13.27 |
vs Schedutil [%] | | 1.1% | 3.0% | 2.7% |


SchedTune currently introduces overheads when used on saturated systems such as
the one generated by running the hackbench test. This is possibly due to the
currently used locking schema which can be further optimized.

On the other hand, the SchedTune extension is mainly useful for lightly loaded
systems (mobile devices, laptops, etc.) where the additional overhead has been
verified to be compensated by the performance benefits due to (for example) a
faster task completion. Some of these benefits are reported in the following
section.


ChangeLog
=========

Changes since v1:
- Rebase on tip/sched/core:
A225023 sched/core: Explain sleep/wakeup in a better way
- Integrated with schedutil (in replacement of SchedFreq)
- Improved tasks accounting for correct boostgroups activations
- Added support for negative boosting
- Extensively tested on production-grade devices


Credits
=======
[*] This work has been supported by an extensive collaborative effort between
ARM, Linaro and Google, targeting production devices.
 

SynisterWolf

Retired Senior Moderator
Lite thread cleaning.
I know there will be sides when it comes to development teams but out of respect for everyone involved. Keep the drama off XDA. This includes subtle jabs at each other, or just plain calling out. This will be the only warning as we have already gave out enough warnings to everyone.
Thanks
Wolf
 

TheKnux

Senior Member
Sep 28, 2011
2,594
809
Akron
Google Pixel 4a 5G
OnePlus 9
Well it boots :D

How does it perform?
And camera works. :) still waiting for everything to settle, finally got my charge cycle in last night while I was sleeping, so don't know the exact results yet. Amazing so far. Way quicker and more efficient than the old EAS, that's for sure. But, a public version will probably be out soon, so my results wouldn't matter anymore since this is a test build.
 
Status
Not open for further replies.

Top Liked Posts

  • There are no posts matching your filters.
  • 31
    eQJPh7iQtvPJp-xw2KdA7kQB6P8b-zctlIKLoNrTjvSYbpY175U1YYjWP-mQuiTd76Fexs_VAge6dauWp8P7IE6H_X939yd4j0FGMMWzvlk_FUNMivYuttMgdRzBbd1NmO7LEUE5mPZU-0WQpJ74bRN_msnV7kRiBmnOCKh1az8Ape881FQjTKaEc5AJe0ClA2MBx3ZYkcpA6gg3HWGHc1P3JFfOUoGmcubisLeusQGgsJ7pCqoJ2YYKJE5mrtl9sT5j-Xs0L7QAMCHHit2XvB4Tzz6XadSph92sOUmmCuBNsoH-A-1h8yWUSC3LAsF2XJGlbWmLv3D6sgY0s8eL2F91xPbRhRDZ0HoSgYz0rlmrSMGb23uDSY66CKl43r_hao8_x8oD-zB4alXPfo_gbYKczWcT7J-pbB4MJlX9GFNXEXDGgBsA3Bc-glVfAwyvjkkBN_1QM6m1AqZFpaTTLpiu6MNsICv6kh9P4e0kpJbbQ7YpI6QhfvjoSz3RBPlwpb3_nbUyjbEd_Wz2zc_gK78m26XQBeWlaUs10mDieHZ2rUOWKy-uayvmw90EUYE48XrZUNLou83InRgFBYdQoTy0lJcZyJFYOyMNTmak-U5Z5uM4uw=w1008-h180-no
    xRji1kxVLC-QtdJcofpvN5832pf7gpE3pgsZQU8WH1X-1dLjemNpUcEtOzPvv5Aox0anHKFOGBGwpjXNGro3iQ8wPFM5aw2UWgxh7JG5aPKNCUzoXRnFVQta5mDi6ieLS-5kJAXypRoK7Dn4LM0Y5bT3NovJfLekdYVGm-xfHZRZ2kYGaK42nGqf81UpVArachEhdtpxT9L2GJuGT5_TPXKIj2A7BHDTh4oWaeN-KRAdhvBgxu1zKTWIPdYi_r4vtdvXxN8fJinPiJl7A7TC2YILdZdVqvR5hOa1pssppjff29ZT-7RsgXkxC6_h9FAGWGmk9QnJmm_zGUxFFAQYkDut6EnoI6mlGb707SiMU0WyRPYABoFQ3Sw1NGOXn9Ifc4VGeG_A4N1qrHWEC7lYW00Z6cWkN9l392iVIrU7wyaGam-kPaFTMPUmtDWTIi3RX6iAWufszVXZeNT3ZNbcQ3ocwq1iKmyNADoOTpSGV7bUAR9NWCWJjDv7tPm54jAwiltp7mijeyhMuUx3_a5t-dGr3lf2qajnT5ByVI3F0aMbTGdKksBmt4FIJSUpr_22-fQhYxO3i4r44XVxSV-xMNRl85qi9c2m23VPRIoD6OPkFIT4Er6mXA=w492-h134-no

    Nebula Strikes Again

    PTHiVu2BZER3dHNIAKz76s3ndnygqiTZsT2RD_Eoz69ugZI-oz2kVu7Lr4o-ZS6ep678aHEooxldYkxj9REAtD5gjjIi8UeG4SnhP-qHU9KaeoRjWvu76imN8JeerZ_VvcmrjbZjfze-KNX3R7uYc3jL5e92yYf-zq3RaPy4fVMxPNAfiDptcb9Fbb6zbdwScnaoXg5n643yBLttwPgr3bQs6U1h8NMZPANo6Ax0F6Txx33GFh0FLdrlXxB2HlFEuKQy178SqeR1LWQRcuRF8HdhosHhvLGBa5KXWurpyk1YbpiwAc3awaZSwVXEZRdZ3rmY4qSHMuyupxWY1o8bKXp1utO7d8sHdWPHHmgnCeSAa7EhoXkVl2JQd8nj9Yg656ngLvEl6M-KlPjgqX6m_CRCgIA3e35hAeYJDAlmvenbYXChQgbPHrgAPBZL3fzQW9vFX6xJv-6jqNqf_lyO0QhA9t1JIAQaaN0KakljgA5rmtKcqpriidAGQwZXvyDw-xgGyhvLyyCeH5NXwuNYCErBD-bTq3u5FPi2IvxOdP502BKTwo2CYNhjnJC4qCxaRwuKIJgxZeQz5YM5eIsiBn3Iw6r1f4OUzmaXMI6pTiTGERypmffxHw=w512-h614-no
    What is EAS?
    Energy Aware Scheduling (EAS) is an enhancement to Linux power management, unifying CPU power control under the Linux kernel. EAS extends the Linux kernel scheduler to make it fully aware of the power/performance capabilities of the CPUs in the system, to optimize energy consumption for advanced multi-core SoCs including big.LITTLE. With EAS, the Linux kernel will use the task load and a CPU ‘Energy Model’ to control task placement to select the optimal CPU to run on.


    [ Features And Additions ]


    • CPU governors: SCHED, SCHEDUTIL *NEW*
    • Extra I/O schedulers: BFQ, FIOPS, SIO, FIFO, SIOPLUS, TRIPNDROID, VR, ZEN, MAPLE
    • Overclock up to 2265MHz big cluster and 1728MHz little cluster
    • GPU Overclock 133Mhz up to 652Mhz
    • Sound Control mod that allows users to adjust digital audio gains
    • Backlight Dimmer
    • Button Light Notification
    • KCAL Color Control
    • Double Tap Fingerprint To Sleep and Sweep To Sleep
    • Fading/Pulsating Notification LED
    • Sweep2Sleep
    • Optional Disable FSYNC
    • Optional Disable magnetic cover
    • Home button Mapper
    • USB FastCharge
    • Various patches and fixes
    • Updated with the latest from CAF branch LA.UM.5.5.r1-xxxxx-8x96.0 and EAS from Google's experimental branch.
    • And Various Other Features...

    Known Bugs: (Work Arounds)

    • Sound Mod: While playing Music, Switch off/on BoomSound
    • SD Card corruption:
      • [Untested Fix]
      • Reboot back to recovery
      • Mount USB storage
      • Unmout it
      • Reboot
      • [Tested Fix]
      • Flash the last kernel that worked
      • Reboot
      • Flash the latest again
      • Reboot


    XDA:DevDB Information
    Nebula: Energy Aware Scheduling, Kernel for the HTC 10

    Contributors
    Eliminater74, thewalkingdude, INDIAN-MAfIA, prstorero
    Source Code: https://github.com/DevHTC10/htc10.pme.msm8996.kernel

    Kernel Special Features: Energy Aware Scheduling [EAS]

    Version Information
    Status: Beta

    Created 2017-02-06
    Last Updated 2017-09-20
    25
    Attention: For all you that think im dead in the water,
    News is this: I now have a fully working new I7 system......... Just waiting for it to be sent.......

    I never quit and I dont plan on quitting. .. Matter of fact I will be dipping into the ROM Development again.. Now that I have a system that can handle it.............
    SO, dont think I gave up................. I didnt....... I already released a new staging Kernel the other day...........

    I have some great ideas on making this better.. but I wont mention it yet.. and I wont push it to git yet.......

    Just letting you all know.. I still lurk around the corner..............................
    20
    I am going to try and get V7.3.0 out tonight.. if not tonight it will for sure be tomorrow morning................... Eastern Time.................

    7.3.0 Changelog:
    EAS Updated
    New Gov called SchedUtil
    Many more updates
    re done from scratch again............
    19
    Mega Update: Attention: This Kernel is not your stock based or anything like it.
    This is a 100% Pure Caf Taken from the latest Caf Release as of now: LA.UM.5.5.r1-03800-8x96.0, Then with @crpalmer's Commits to add in all needed HTC hardware related commits to make it boot and work. This one Run far smoother then any of my previous kernels I have every done.

    2 Scheds added, AlucardSched and DarkNessSched By @Alucard, With the personal modification of state_notifier to use the more appropriate display_on API by @franciscofranco
    Which allows the scheds to work like @Alucard intended them too.........

    No Stock HTC Kernel Merged into this Base other then what I mentioned above...............

    This is a Total Redone From Scratch EAS Kernel.......... No Stock added......................

    Kernel is listed as testing, because I am still getting it up to par.. For the most part it works flawlessly.........

    Known Bugs: sdcard Corrupted Message: [exfat only] Since its a new kernel base, you might get that msg.. Just copy over to PC, then use phone to format then copy back over.
    This is a bug that many are going though all over the threads.. If your on AOSP/LOS then you shouldnt even get that message.........


    Give it a try and let me know how it is................
    17
    Nebula Kernel: Nebula_10.0.0-EAS_IRMA_pme_20170910_134509.zip

    IRMA Edition: <-- I had my reasons for this:

    55153-Unleash-The-Beast.jpg

    FAQ: Voltage control only works with kernel Adiutor, Ex Kmgr it doesnt work with.
    Newest Ex Kmgr has a bug in Min Freq section of CPU Control of little cores. Its ok.

    Max GPU is 710mhz but boots with 624mhz..

    Overclock will only work with using the latest newest Ex Kernel Manager by @flar2
    CPU Limiter by @dorimanx was added for hard limit controls of the CPU's..
    Many things were done to this kernel.........

    CPU OC Freq no longer piggyback off the previous freq.. They all have their own sliding scales now.
    Headroom votage was increased from 15000 to 17000..............

    IRAM edition name I used, I live in Clearwater, Florida, and that Hurricane is heading Directly at my area.......
    So this could be my final build for a very long time.. or never again...........

    So Enjoy ...........................................