hammerhead: update prebuilt kernel

8399c4e ion_iommu_heap: allocate only with order=0
444f1ca msm: qpnp-power-on: print the power off reason
3521e06 sched,cgroup: Fix up task_groups list

The top commit eliminates the biggest contribution of highmem allocations of
order>=3.  The stats below were collected with and without the patch, over
30-60 minutes, of calls to __alloc_pages_nodemask(), noting the count (in the
first column) of allocations with various GFP masks (in the second column as a
numbe and also pretty-printed in the fourth column), and breaking down total
count by order (in the third column).  For example, the following line:

   13     0x5200                  1:1 2:1 3:11 NOWARN NORETRY COMP

means that there were 13 allocations with GFP mask 0x5200 (NOWARN NORETRY
COMP), of which 1 was order-1, 1 was order-2, and 11 were order-3.

Data with this patch:

up time: 01:01:10, idle time: 01:08:35, sleep time: 00:00:00
    1     0x4020                           2:1 HIGH COMP
    1     0x52e0                           3:1 HIGH IO FS NOWARN NORETRY COMP
    1    0x85200                           1:1 NOWARN NORETRY COMP RECLAIMABLE
    1    0x85210                           1:1 WAIT NOWARN NORETRY COMP RECLAIMABLE
    1    0x85220                           1:1 HIGH NOWARN NORETRY COMP RECLAIMABLE
    2    0x252d0                           2:2 WAIT IO FS NOWARN NORETRY COMP HARDWALL
    2     0x82d0                           4:2 WAIT IO FS NOWARN ZERO
    4     0x80d0               4:1 6:1 1:1 3:1 WAIT IO FS ZERO
    5       0x20               5:1 7:1 8:1 2:2 HIGH
   12    0x15280                       2:6 3:6 FS NOWARN NORETRY COMP NOMEMALLOC
   13     0x5200                  1:1 2:1 3:11 NOWARN NORETRY COMP
   18     0x5220                  1:13 2:2 3:3 HIGH NOWARN NORETRY COMP
  108     0xc0d0         4:1 5:4 7:1 2:100 3:2 WAIT IO FS COMP ZERO
  141     0x56d0                    1:125 3:16 WAIT IO FS NOWARN REPEAT NORETRY COMP
  448    0x85250                    1:23 2:425 WAIT IO NOWARN NORETRY COMP RECLAIMABLE
  506   0x405200                         2:506 NOWARN NORETRY COMP NO_KSWAPD
 1238    0x852d0                        1:1238 WAIT IO FS NOWARN NORETRY COMP RECLAIMABLE
 1812     0x52d0            1:690 2:108 3:1014 WAIT IO FS NOWARN NORETRY COMP
 2068     0x40d0        4:7 5:7 6:2 2:2046 3:6 WAIT IO FS COMP
 2521     0x44d0                        2:2521 WAIT IO FS REPEAT COMP
33087       0xd0                1:31909 2:1178 WAIT IO FS

Data without this patch:

up time: 00:37:36, idle time: 00:41:25, sleep time: 00:00:00
    1    0x252d0                           2:1 WAIT IO FS NOWARN NORETRY COMP HARDWALL
    1     0x4020                           2:1 HIGH COMP
    1    0x85200                           1:1 NOWARN NORETRY COMP RECLAIMABLE
    1    0x85220                           1:1 HIGH NOWARN NORETRY COMP RECLAIMABLE
    2     0x82d0                           4:2 WAIT IO FS NOWARN ZERO
    2    0x85210                           1:2 WAIT NOWARN NORETRY COMP RECLAIMABLE
    4     0x80d0               4:1 6:1 1:1 3:1 WAIT IO FS ZERO
    5       0x20               5:1 7:1 8:1 2:2 HIGH
    6    0x15280                           2:6 FS NOWARN NORETRY COMP NOMEMALLOC
   11     0x5220                   1:3 2:5 3:3 HIGH NOWARN NORETRY COMP
   15     0x5200                  1:1 2:1 3:13 NOWARN NORETRY COMP
  125     0xc0d0         4:1 5:4 7:1 2:117 3:2 WAIT IO FS COMP ZERO
  191     0x56d0                1:172 2:2 3:17 WAIT IO FS NOWARN REPEAT NORETRY COMP
  448    0x85250                    1:23 2:425 WAIT IO NOWARN NORETRY COMP RECLAIMABLE
  636   0x405200                         2:636 NOWARN NORETRY COMP NO_KSWAPD
  766   0x4092c2                    4:734 8:32 HIGHMEM IO FS NOWARN NORETRY ZERO NO_KSWAPD
 1084    0x852d0                        1:1084 WAIT IO FS NOWARN NORETRY COMP RECLAIMABLE
 1293     0x52d0             1:752 2:110 3:431 WAIT IO FS NOWARN NORETRY COMP
 1576     0x40d0        4:7 5:7 6:2 2:1554 3:6 WAIT IO FS COMP
 3122     0x44d0                        2:3122 WAIT IO FS REPEAT COMP
31569       0xd0                1:30298 2:1271 WAIT IO FS

The following line:

  766   0x4092c2                    4:734 8:32 HIGHMEM IO FS NOWARN NORETRY ZERO NO_KSWAPD

shows that the patch eliminated 766 highmem allocations of orders 4 and 8.
This is by far the highest contribution of order>=3 of both high- and lowmem.
On a device that had run for ~30 minutes, we have only 2 order-3 buckets of
highmem:

Node 0, zone   Normal    428    921    675    125    159     68      5      1      0      0      0
Node 0, zone  HighMem    213     86     13      2      0      0      0      0      0      0      0

Most highmem is movable and is allocated from one page at a time (as both of
these data sets show, there aren't any other HIGHMEM allocations here of
order>=1), but these allocations are not movable; thus, over time, and with
heavy usage of media playback, we risk fragmenting highmem.

b/18729519 Watchdog bite in early boot
b/18069309 N5 running L can't run as many apps simultaneously as running K

Change-Id: I063f28956d7299001d9f5458885d5ba7047d7f42
Signed-off-by: Iliyan Malchev <malchev@google.com>
1 file changed
tree: d938972b033425494a490657e72a034ea3672ed6
  1. zImage-dtb