{"push_id":892064782,"size":7,"distinct_size":7,"ref":"refs/heads/min2","head":"635a386b58a756520e622543dc2f1185aff118b2","before":"fdc6c712d09f91e72761705a1bef00d8a980031d","commits":[{"sha":"ba4351ecefa7c0d051d1841b4f8598a3812d22ed","author":{"email":"42480b5f4d505650064e5081b85d867a03559887@gmail.com","name":"franciscofranco"},"message":"sched: LOAD_FREQ (4*HZ+61) avoids loadavg Moire. From http://ripke.com/loadavg/moire\n\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":true,"url":"https://api.github.com/repos/Joomu/peregrine-kernel/commits/ba4351ecefa7c0d051d1841b4f8598a3812d22ed"},{"sha":"90e6d0ad8f2431baee015e0c7b5a5d569b940e04","author":{"email":"e90b702c9735d7d8a45d232c2bb099d9e00f5267@codeaurora.org","name":"Archana Sathyakumar"},"message":"msm:rq_stats: Register for Cpufreq policy notification\n\nCurrently the load of the system is calculated using the max\nfrequency that is read during startup(It does not get updated\nwhen the policy changes). As a result, the average load of the\nsystem is incorrectly calculated and the system might not bring\nthe cpus online to manage the additional load. This\nreduces the performance of the system.\n\nTo fix this issue, register rq_stats to receive cpufreq policy\nnotifications. Update the policy's max frequency when a\nnotification is received and use that value to calculate the load.\n\nSigned-off-by: Archana Sathyakumar <asathyak@codeaurora.org>\nSigned-off-by: Anji Jonnala <anjir@codeaurora.org>\nSigned-off-by: Pranav Vashi <neobuddy89@gmail.com>","distinct":true,"url":"https://api.github.com/repos/Joomu/peregrine-kernel/commits/90e6d0ad8f2431baee015e0c7b5a5d569b940e04"},{"sha":"351153cef4e9066ef0c42e8beff0f8c16cea81ae","author":{"email":"7f5bb03cf507c861269be561971108be8f37d832@chemlab.org","name":"Steve Kondik"},"message":"msm: Fix high load average from uninterruptible waits\n\n * The load average on all MSMs is currently hovering at around 14\n   due to uninterruptible waits in various places.\n * Convert these waits to interruptible waits to bring the load\n   back down to zero at idle.\n\nChange-Id: I14bad4af135b1594e235e2252cb484cb34d91054\nSigned-off-by: franciscofranco <franciscofranco.1990@gmail.com>","distinct":true,"url":"https://api.github.com/repos/Joomu/peregrine-kernel/commits/351153cef4e9066ef0c42e8beff0f8c16cea81ae"},{"sha":"a1636e31c54afa5ac94faaf8fa51d07018fae764","author":{"email":"2300a5e1f2518677ba46e4e9d602db8307d66d56@users.noreply.github.com","name":"Joomu"},"message":"Revert \"msm:rq_stats: Register for Cpufreq policy notification\"\n\nThis reverts commit d51fa2ce0478db50e802f8f5c0f28cc001b67c3b.","distinct":true,"url":"https://api.github.com/repos/Joomu/peregrine-kernel/commits/a1636e31c54afa5ac94faaf8fa51d07018fae764"},{"sha":"41c6a77f2e929d33b29dc736b7357fb9809044ba","author":{"email":"0762133b8a9c799f8baac0b4a37557457201db2b@codeaurora.org","name":"Anupam Sakargayan"},"message":"CAF GPU Updates\n\nmsm: kgsl: Disable shader memory dump during snapshot\n\nDisabling shader memory dump for these chipsets(8974, 8x26, 8x10).\n\nCRs-Fixed: 650035, 637989, 631728.\n\nChange-Id: I3a56810147e16763eaf3131aa837ed535a447e69\nSigned-off-by: Anupam Sakargayan <asakarga@codeaurora.org>\n\nmsm: kgsl: Disable index reg dump during snapshot\n\nDisabling index reg dump for these chipsets (8974, 8x26, 8x10).\n\nCRs-Fixed: 751620\nChange-Id: Ie1014bd18b49692f718279cfe7abaed874a376af\nSigned-off-by: Anupam Sakargayan <asakarga@codeaurora.org>\n\nmsm: kgsl: Wake up snoozing threads on marker expiry\n\nMarker commands may not be submitted to RB but\ncreate room in context queue on expiry which is\nleft uncounted. If there are too many markers\ncommands from a specific context then context\nqueue eventually gets full but wakeup is never\ncalled for sleeping threads.\n\nWake up the snoozing threads when there is room\nin the context queue rather than based on the\ncondition of real submissions from the context.\n\nCRs-fixed: 783187\n\nChange-Id: I0cb0002d7b641071a45d46ae50ce9f23f37b0fab\nSigned-off-by: Sunil Khatri <sunilkh@codeaurora.org>\nSigned-off-by: Anupam Sakargayan <asakarga@codeaurora.org>\n\nmsm: kgsl: check for NULL pointer access\n\nCheck NULL pointer access to avoid crash\n\nChange-Id: Ib135aedc8fcae2357a270529bc1bf7fed71021d0\nSigned-off-by: Anupam Sakargayan <asakarga@codeaurora.org>\n\nmsm: kgsl: Make global memory statistics atomic\n\nIf you run aggressive memory operations long enough, eventually you\nwill notice that the KGSL memory statistics will explode up into the\n3G range. This is a race condition on the statistics math which ends up\ngoing negative in certain cases.  Turning the statistics variables into\natomics should solve the problem once and for all. ONCE AND FOR ALL.\n\nChange-Id: Ic0dedbad61762d667550c22190c4f9d0b453829b\nSigned-off-by: Jordan Crouse <jcrouse@codeaurora.org>\nSigned-off-by: Sunil Khatri <sunilkh@codeaurora.org>\n\nmsm: kgsl: Support the KGSL_CONTEXT_CTX_SWITCH flag\n\nSometimes the user driver has reason to force the command preamble\nto run on every submit and not just when the context is switched.\nSupport KGSL_CONTEXT_CTX_SWITCH for both an entire context or\njust a single submission.\n\nChange-Id: Ic0dedbad52fae5fd6ca975ea7eb9f1002e0815ed\nSigned-off-by: Jordan Crouse <jcrouse@codeaurora.org>\nSigned-off-by: Sunil Khatri <sunilkh@codeaurora.org>\n\nmsm: kgsl: Split out the context and command batch flags\n\nSplit out the context and command batch flags into separate piles.\nIn reality it is more like a venn diagram with some context\nexlusive bits some cmdbatch exclusive bits and some shared bits.\n\nThe object of all this is to increase the available pool of exclusive\ncommand batch flags and keep from using up all of the context bits\ntoo. We still have to be careful for future shared bits so not all of\nthe unused field is up for grabs for the command batch but we\ncertainly have increased our options.\n\nChange-Id: Ic0dedbadac4a12b712c911760f83da3436550bcb\nSigned-off-by: Jordan Crouse <jcrouse@codeaurora.org>\nSigned-off-by: Sunil Khatri <sunilkh@codeaurora.org>\n\nmsm: kgsl: Allow memory lists along with command submission\n\nAllow users to send in a list of all memory that is used\nin the command submission. Store the memory list in the\ncommand batch so we can do smart things with it.\n\nChange-Id: Id81dcf25ffacf2848eee37c73699683ace48dbf9\nSigned-off-by: Carter Cooper <ccooper@codeaurora.org>\nSigned-off-by: Sunil Khatri <sunilkh@codeaurora.org>\n\nmsm: kgsl: Refactor the GPU event engine\n\nThe old GPU event model was pretty heavy weight. It walked a lot\nof issues while holding the mutex and was generally not very\nflexible or scalable.\n\nThe new design introduces event groups. Event groups have a list of\ncommon events with a local lock.  Each context has a default event\ngroup and the device adds a few more for global events and IOMMU events.\nEach event group is processed when timestamps expire and the expired\nevents are scheduled on a workqueue. We never need to take the device\nmutex in any of the event code and we have the flexibility to deal with\nboth global and per-context timestamps in a reasonably generic manner.\n\nSpeed is a premimum at every step of the process, so we use RCUs for\nthe global group list, a new kmem cache for the event structs and\ngenerally go out of our way to avoid blocking in rendering threads\neven a little bit.\n\nChange-Id: Ic0dedbad02eec7c75258e6787543b79d4b8b3394\nSigned-off-by: Jordan Crouse <jcrouse@codeaurora.org>\nSigned-off-by: Sunil Khatri <sunilkh@codeaurora.org>\n\nmsm: kgsl: Remove a race condition in the event processing code\n\nThere could be a race condition if a thread is adding an event while\nanother thread is processing events. Say that thread A is adding an\nevent and thread B is processing events. A could read the timestamp\nand see that it isn't retired yet and wait for the spinlock to add\nit to the list.  Meanwhile the timestamp gets retired and the retire\nthread takes the spinlock first and proceses the list.  End result\nis the event for the newly expired timestamp gets added to the list\nafter the timestamp retires. If there are no subsequent events then\nthe lame duck event will just sit there.\n\nAvoid this race condition by taking the spinlock before considering\nthe timestamp. This serializes the two threads ensuring that a new\nevent cannot be added after the same timestamp is retired.\n\nThe race condition could still fail with the locks in the right place\nif different cores got different timestamp values so add the correct\nbarriers to the memory read/write functions to ensure that all cores\nread the same value at the same time.\n\nChange-Id: Ic0dedbad02e7aeeaab48373ab28f4dc9cce50db2\nSigned-off-by: Jordan Crouse <jcrouse@codeaurora.org>\nSigned-off-by: Sunil Khatri <sunilkh@codeaurora.org>\n\nmsm: kgsl: Add support for KGSL_CMDBATCH_MARKER\n\nSometimes the user mode driver assigns a timestamp and goes to all\nthe work of constructing a command before it discovered it doesn't\nneed to be executed on the GPU. If that happens the driver can\nset the MARKER bit and let the kernel figure how to keep timestamps\nmoving forward in a linear fashion.\n\nIf no commands are ahead of the marker the dispatcher will discard\nit in software (and update the timestamps accordingly). If there\nare command ahead of it the marker will wait patiently for those\nto expire. If new commands come in after the marker the marker\ncan be dispatched with NOPs in place of the IBs so the timestamp\naccounting stays correct.\n\nChange-Id: Ic0dedbada4006e3cf9d4698a419be93b1620d35a\nSigned-off-by: Jordan Crouse <jcrouse@codeaurora.org>\nSigned-off-by: Sunil Khatri <sunilkh@codeaurora.org>\n\nmsm: kgsl: Correctly increment the pagetable statistics\n\nThe pagetable.entries statistics should be incremented by 1\nand not the size of the entire mapping.\n\nCRs-Fixed: 911514\nChange-Id: Ic9acb6a43a76ee0c429c439e60cbd2a6846647db\nSigned-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>\n\nmsm: kgsl: Restrict GPU memory object alignment to 32MB\n\nThe code was being very generous in giving the user the ability to\nalign GPU objects on 4GB boundaries. Cut the restriction down to\n32MB which is still pretty generous but within the realm of\npossiblity (especially for a 32 bit GPU).  While we are at it fix\na bug in the page_alloc code that was accidently resetting the\nalignment to the alloc page size.  The alignment cannot be _less_\nthan the max page_alloc size but there certainly isn't any reason\nwhy you couldn't specify a larger alignment if you so wished.\n\nChange-Id: Ic0dedbadebd4c6fd98e3bf2f3d6d5bb924223157\nSigned-off-by: Jordan Crouse <jcrouse@codeaurora.org>\nSigned-off-by: Lynus Vaz <lvaz@codeaurora.org>\n\nmsm: kgsl: Fix race in active count wait\n\nActive count is a variable that is mutex protected. When waiting\nfor this variable the value should be verified with mutex held.\n\nChange-Id: Iee8c43cacd22f05b03a350f3b46b3e5a9fff5c63\nSigned-off-by: Shubhraprakash Das <sadas@codeaurora.org>\nSigned-off-by: Lynus Vaz <lvaz@codeaurora.org>\n\nmsm: kgsl: Continue if an IB couldn't be dumped in snapshot\n\nIf an IB cannot be added to the snapshot list, that's no reason to\nstop dumping the object that uses it. Continuing further will make\nsure that all possible data is dumped into the snapshot, and make\nit available for offline use.\n\nChange-Id: Ia541510754a9919838e7fc337fa3f2515c6f0f05\nSigned-off-by: Lynus Vaz <lvaz@codeaurora.org>\n\nmsm: kgsl: Ignore signals for ringbuffer timestamp waits\n\nIgnore signals when waiting for ringbuffer timestamp since\nthe wait needs to complete regardless of whether the process\ngot a signal. Also, increase the wait timeout for context\ndetachment to 30s instead of 10s. Large IB's can take longer\nthan 10s to retire and if a hang happens then recovering from\nthe hang and completing the long IB's will take much longer\nthan 10s, bump this timer to 30s which should be sufficient\nfor the context's commands to retire even if hang happens.\n\nConflicts:\n\tdrivers/gpu/msm/adreno_drawctxt.c\n\tdrivers/gpu/msm/adreno_ringbuffer.c\n\nCRs-Fixed: 718284\n\nChange-Id: I54589c9ec48da3f87ccc60c85451daac7e9a22bd\nSigned-off-by: Shubhraprakash Das <sadas@codeaurora.org>\nSigned-off-by: Anupam Sakargayan <asakarga@codeaurora.org>\n\nmsm: kgsl: Cleanup the memory free list\n\nTighten up the memory free list code and remove the memory unused\ndebugfs file.  Outside of the cleanup the functional changes are\na) move the mutex to a spinlock for speed, and b) only return the\nlast entry in the list for given pid/gpu address combination.\n\nConflicts:\n\tdrivers/gpu/msm/kgsl.c\n\tdrivers/gpu/msm/kgsl.h\n\tdrivers/gpu/msm/kgsl_debugfs.c\n\nChange-Id: Ic0dedbad9595302e2b42de2807fa82c425d1717f\nSigned-off-by: Jordan Crouse <jcrouse@codeaurora.org>\nSigned-off-by: Hareesh Gundu <hareeshg@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/Joomu/peregrine-kernel/commits/41c6a77f2e929d33b29dc736b7357fb9809044ba"},{"sha":"fd56f6e829b152512acccd84f952e8d49e047b4e","author":{"email":"fec53db8c4887e6e95defbb5052bc6438029c1e6@codeaurora.org","name":"Jordan Crouse"},"message":"msm: kgsl: Mark mmapped objects with VM_DONTCOPY\n\nAdd VM_DONTCOPY to the default set of mmap flags to keep VM objects\nfrom being copied on fork() and causing issues.  KGSL file descriptors\ncopied to a child are not expected to be usable.\n\nChange-Id: Ic0dedbad85c07118a931ccb9f7a6fd0507da3e5a\nSigned-off-by: Jordan Crouse <jcrouse@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/Joomu/peregrine-kernel/commits/fd56f6e829b152512acccd84f952e8d49e047b4e"},{"sha":"635a386b58a756520e622543dc2f1185aff118b2","author":{"email":"785dce9813c74aa517a07b7a1160c1a9cdebd7be@codeaurora.org","name":"Swetha Chikkaboraiah"},"message":"cpufreq: cpu-boost: Resolve deadlock when waking up sync thread\n\nWaking up sync thread recursively for same CPU causes deadlock.\nFix this by avoiding recursive wakeup call to same thread.\n\nCRs-Fixed: 814956\nChange-Id: Iaa789bc8a441e56524e0851274765a07937d83fb\nSigned-off-by: Swetha Chikkaboraiah <schikk@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/Joomu/peregrine-kernel/commits/635a386b58a756520e622543dc2f1185aff118b2"}]}