[LG G Flex 2] nasone32:
This is the script i use to disable cores with tasker when the screen is off to save battery.

also we can create profiles per-application to alter the clock.

required:

-rooted phone

-tasker

create a new profile -> event -> display ->Display Off

then

new activity -> code - >execute shell

paste this code

stop mpdecision
echo "0" > /sys/devices/system/cpu/cpu1/online
echo "0" > /sys/devices/system/cpu/cpu2/online
echo "0" > /sys/devices/system/cpu/cpu3/online
echo "0" > /sys/devices/system/cpu/cpu4/online
echo "0" > /sys/devices/system/cpu/cpu5/online
echo "0" > /sys/devices/system/cpu/cpu6/online
echo "0" > /sys/devices/system/cpu/cpu7/online

and check "use root"

then enable it. this will shut down cores 1-7 and leave online only core 0 (arm a-53 low consumption) when the scren goes off.

create a new profile -> event -> display ->Display On

then

new activity -> code - >execute shell

stop mpdecision
echo "1" > /sys/devices/system/cpu/cpu1/online
echo "1" > /sys/devices/system/cpu/cpu2/online
echo "1" > /sys/devices/system/cpu/cpu3/online
echo "1" > /sys/devices/system/cpu/cpu4/online
echo "1" > /sys/devices/system/cpu/cpu5/online
echo "1" > /sys/devices/system/cpu/cpu6/online
echo "1" > /sys/devices/system/cpu/cpu7/online

and check "use root"

then enable it. this will bring the cores back online when the screen is on.

I also created the same profile with the same activity but for "Display Unlocked", just to double check the trigger to bring the cores back is there.

----

Please note you can create profiles for every application or event,

just remember every application profile needs an ENTER activity (for example to enable the cores, and to spice up the frequency or governor) and an EXIT activity (for example to disable some cores again, and lower the frequencies)

you create an activity to change the frequency and governor from

activity -> click on the "+" button -> give it a name -> click on the "+" button again -> System -> CPU

here you create a new action for every core from 0 to 7 (governor, frequency min and max)

for example this activity named "MAX FREQ" brings all the cores online and sticks the cores to full frequency, for benchmarking for example! (save in an .xml file, than import in tasker by longpress the "activity" tab)

<TaskerData sr="" dvi="1" tv="4.7u3m">
<Task sr="task16">
<cdate>1446844849087</cdate>
<edate>1446945784323</edate>
<id>16</id>
<nme>MAX FREQ</nme>
<pri>100</pri>
<Action sr="act0" ve="7">
<code>123</code>
<Str sr="arg0" ve="3">stop mpdecision
echo "1" > /sys/devices/system/cpu/cpu4/online
echo "1" > /sys/devices/system/cpu/cpu5/online
echo "1" > /sys/devices/system/cpu/cpu6/online
echo "1" > /sys/devices/system/cpu/cpu7/online
echo "1" > /sys/devices/system/cpu/cpu1/online
echo "1" > /sys/devices/system/cpu/cpu2/online
echo "1" > /sys/devices/system/cpu/cpu3/online</Str>
<Int sr="arg1" val="1"/>
<Int sr="arg2" val="1"/>
<Str sr="arg3" ve="3"/>
<Str sr="arg4" ve="3"/>
<Str sr="arg5" ve="3"/>
</Action>
<Action sr="act1" ve="7">
<code>915</code>
<Int sr="arg0" val="0"/>
<Str sr="arg1" ve="3">performance</Str>
<Int sr="arg2" val="384000"/>
<Int sr="arg3" val="1555200"/>
</Action>
<Action sr="act2" ve="7">
<code>915</code>
<Int sr="arg0" val="1"/>
<Str sr="arg1" ve="3">performance</Str>
<Int sr="arg2" val="1555200"/>
<Int sr="arg3" val="1555200"/>
</Action>
<Action sr="act3" ve="7">
<code>915</code>
<Int sr="arg0" val="2"/>
<Str sr="arg1" ve="3">performance</Str>
<Int sr="arg2" val="1555200"/>
<Int sr="arg3" val="1555200"/>
</Action>
<Action sr="act4" ve="7">
<code>915</code>
<Int sr="arg0" val="3"/>
<Str sr="arg1" ve="3">performance</Str>
<Int sr="arg2" val="1555200"/>
<Int sr="arg3" val="1555200"/>
</Action>
<Action sr="act5" ve="7">
<code>915</code>
<Int sr="arg0" val="4"/>
<Str sr="arg1" ve="3">performance</Str>
<Int sr="arg2" val="1958400"/>
<Int sr="arg3" val="1958400"/>
</Action>
<Action sr="act6" ve="7">
<code>915</code>
<Int sr="arg0" val="5"/>
<Str sr="arg1" ve="3">performance</Str>
<Int sr="arg2" val="1958400"/>
<Int sr="arg3" val="1958400"/>
</Action>
<Action sr="act7" ve="7">
<code>915</code>
<Int sr="arg0" val="6"/>
<Str sr="arg1" ve="3">performance</Str>
<Int sr="arg2" val="1958400"/>
<Int sr="arg3" val="1958400"/>
</Action>
<Action sr="act8" ve="7">
<code>915</code>
<Int sr="arg0" val="7"/>
<Str sr="arg1" ve="3">performance</Str>
<Int sr="arg2" val="1958400"/>
<Int sr="arg3" val="1958400"/>
</Action>
</Task>
</TaskerData>

for example to push the core to full power when running antutu

create a new profile -> event -> Application -> Antutu

then assign MAX FREQ as enter activity.

then you have to assign an exit activity when antutu is closed, for example the following RELAXED can be used:

this one brings the core back to normal scaling, interactive governor, but keeps the cores 6 and 7 disabled (essentially behaves like an hexa core snapdragon 808 in this state)

<TaskerData sr="" dvi="1" tv="4.7u3m">
<Task sr="task6">
<cdate>1446835385548</cdate>
<edate>1446946130520</edate>
<id>6</id>
<nme>RELAXED</nme>
<Action sr="act0" ve="7">
<code>915</code>
<Int sr="arg0" val="3"/>
<Str sr="arg1" ve="3">interactive</Str>
<Int sr="arg2" val="384000"/>
<Int sr="arg3" val="1555200"/>
</Action>
<Action sr="act1" ve="7">
<code>915</code>
<Int sr="arg0" val="1"/>
<Str sr="arg1" ve="3">interactive</Str>
<Int sr="arg2" val="384000"/>
<Int sr="arg3" val="1555200"/>
</Action>
<Action sr="act2" ve="7">
<code>915</code>
<Int sr="arg0" val="2"/>
<Str sr="arg1" ve="3">interactive</Str>
<Int sr="arg2" val="384000"/>
<Int sr="arg3" val="1555200"/>
</Action>
<Action sr="act3" ve="7">
<code>915</code>
<Int sr="arg0" val="0"/>
<Str sr="arg1" ve="3">interactive</Str>
<Int sr="arg2" val="384000"/>
<Int sr="arg3" val="1555200"/>
</Action>
<Action sr="act4" ve="7">
<code>915</code>
<Int sr="arg0" val="5"/>
<Str sr="arg1" ve="3">interactive</Str>
<Int sr="arg2" val="384000"/>
<Int sr="arg3" val="1958400"/>
</Action>
<Action sr="act5" ve="7">
<code>915</code>
<Int sr="arg0" val="4"/>
<Str sr="arg1" ve="3">interactive</Str>
<Int sr="arg2" val="384000"/>
<Int sr="arg3" val="1958400"/>
</Action>
<Action sr="act6" ve="7">
<code>915</code>
<Int sr="arg0" val="6"/>
<Str sr="arg1" ve="3">interactive</Str>
<Int sr="arg2" val="384000"/>
<Int sr="arg3" val="1958400"/>
</Action>
<Action sr="act7" ve="7">
<code>915</code>
<Int sr="arg0" val="7"/>
<Str sr="arg1" ve="3">interactive</Str>
<Int sr="arg2" val="384000"/>
<Int sr="arg3" val="1958400"/>
</Action>
<Action sr="act8" ve="7">
<code>123</code>
<Str sr="arg0" ve="3">stop mpdecision
echo "0" > /sys/devices/system/cpu/cpu6/online
echo "0" > /sys/devices/system/cpu/cpu7/online</Str>
<Int sr="arg1" val="0"/>
<Int sr="arg2" val="1"/>
<Str sr="arg3" ve="3"/>
<Str sr="arg4" ve="3"/>
<Str sr="arg5" ve="3"/>
</Action>
</Task>
</TaskerData>

you can have 2 or 3 activities for different level of performance and assign them to several applications.

with the same method you can also go on full battery saving when below a certain battery percent, and everything you can imagine.

Attachment: a set of profiles to disable 7 cores when screen is off, enable only 6 when normal use and enable all 8 when web browsing.

Provided as is, just for example and to make you play around without writing code...

View attachment 3535707