{"push_id":716795537,"size":163,"distinct_size":163,"ref":"refs/heads/cm-12.1","head":"633396dc1cfc35b391f51a3c185f972e476d138d","before":"2a217b7c27b09a98e61b9ac433ebdd2637454abd","commits":[{"sha":"75a9233e0809fde4bf310a01fb837e9d190d36ce","author":{"email":"ce25c3cee4cc6c4c8acfc1680b3ed89cf644dba3@codeaurora.org","name":"Saravana Kannan"},"message":"cpufreq: Add cpu-boost driver\n\nWhen certain bursty and important events take place, it might take a while\nfor the current cpufreq governor to notice the new load and react to it.\nThat would result in poor user experience. To alleviate this, the cpu-boost\ndriver boosts the frequency of a CPU for a short duration to maintain good\nuser experience while the governor catches up.\n\nSpecifically, this commit deals with ensuring that when \"important\" tasks\nmigrate from a fast CPU to a slow CPU, the frequency of the slow CPU is\nboosted to be at least as high as the fast CPU for a short duration.\n\nSince this driver enforces the boost by hooking into standard cpufreq\nADJUST notifiers, it has several advantages:\n- More portable across kernel versions where the cpufreq internals might\n  have been rewritten.\n- Governor agnostic and hence works with multiple governors like\n  conservative, ondemand, interactive, etc.\n- Does not affect the sampling period/logic of existing governors.\n- Can have the boost period adjusted independent of governor sampling\n  period.\n\nChange-Id: Ibd814a20043d0aba64ee7637a4a79b9ffa1b0991\nSigned-off-by: Saravana Kannan <skannan@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/BEXUS-L/android_kernel_bn_acclaim/commits/75a9233e0809fde4bf310a01fb837e9d190d36ce"},{"sha":"16fab9aeb124c1ec7d1d2cbf9b7f31aca3c057bf","author":{"email":"9296a0ca31e8299ed6ec39daa4ff56fd47a51cb6@codeaurora.org","name":"Rohit Gupta"},"message":"cpufreq: Add a sync limit to cpu-boost\n\nPerform frequency synchronization only when source CPU's frequency\nis less than sync_threshold, else sync to the sync_threshold.\n\nChange-Id: I544c414568d4e015b80ce5891dd215275bac95da\nSigned-off-by: Rohit Gupta <rohgup@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/BEXUS-L/android_kernel_bn_acclaim/commits/16fab9aeb124c1ec7d1d2cbf9b7f31aca3c057bf"},{"sha":"1a4b012ae8ea30ebaa6422e762b4b749bb1b4be8","author":{"email":"9296a0ca31e8299ed6ec39daa4ff56fd47a51cb6@codeaurora.org","name":"Rohit Gupta"},"message":"cpufreq: Add Input Boost feature to the cpu-boost driver\n\nOn incoming input events boost the frequency of all online cpus\nfor at least input_boost_ms ms. This is accomplished by changing\nthe policy->min of all the online cpus to input_boost_freq.\n\nChange-Id: Idb0ab75d68ae4ceff259cbbaaec1a9bb3bc871d3\nSigned-off-by: Rohit Gupta <rohgup@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/BEXUS-L/android_kernel_bn_acclaim/commits/1a4b012ae8ea30ebaa6422e762b4b749bb1b4be8"},{"sha":"de35eb87cde1c7010d558abc7cabb95203240124","author":{"email":"9296a0ca31e8299ed6ec39daa4ff56fd47a51cb6@codeaurora.org","name":"Rohit Gupta"},"message":"cpufreq: Disable cpu-boost by default\n\nDisable cpu-boost by default, so that it can be turned ON only by\nsetting the module parameter boost_ms through command prompt when\nrequired.\n\nChange-Id: Ia9bc280892f65ed1d2e8051d1951e51922ad13db\nSigned-off-by: Rohit Gupta <rohgup@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/BEXUS-L/android_kernel_bn_acclaim/commits/de35eb87cde1c7010d558abc7cabb95203240124"},{"sha":"fc495acd2cb970758b632a878ccac639e2c19d11","author":{"email":"ce25c3cee4cc6c4c8acfc1680b3ed89cf644dba3@codeaurora.org","name":"Saravana Kannan"},"message":"cpufreq: cpu-boost: Fix queue_delayed_work_on() race with hotplug\n\nCalling queue_delayed_work_on() on a CPU that's in the process of getting\nhotplugged out can result in that CPU infinitely looping in\nmsm_pm_wait_cpu_shutdown(). If queue_delayed_work_on() is called after the\nCPU is hotplugged out, it could wake up the CPU without going through the\nhotplug path and cause instability. To avoid this, make sure the CPU is and\nstays online while queuing a work on it.\n\nChange-Id: I1b4aae3db803e476b1a7676d08f495c1f38bb154\nSigned-off-by: Saravana Kannan <skannan@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/BEXUS-L/android_kernel_bn_acclaim/commits/fc495acd2cb970758b632a878ccac639e2c19d11"},{"sha":"f587c04b2c5f0ad838dcbea2574687408f355b5b","author":{"email":"ce25c3cee4cc6c4c8acfc1680b3ed89cf644dba3@codeaurora.org","name":"Saravana Kannan"},"message":"cpufreq: cpu-boost: Fix deadlock in wake_up of sync threads\n\nIf wake_up() is called on the current task on a CPU, the call will wait\nuntil the current task is switched out before it wakes it up again and\nreturns.\n\nThe sync notifier for a CPU always runs on that CPU.\n\nThese two together can result in a deadlock if the sync notifier on CPU A\ntries to wake up the sync thread of CPU A as it goes to sleep (is the\ncurrent task). A previous commit fixed this by adding a check to the sync\nnotifier to not wake up the sync thread of CPU A if it's the current task.\n\nBut this is still not sufficient to prevent deadlocks.\n\nSync thread of CPU A could be the current task on CPU B and sync thread of\nCPU B could be the current task on CPU A.  At this point, if sync notifier\nof CPU A and B try to wake up the sync threads of CPU A and B, it will\nresult in CPU A waiting for the current task in CPU B to get switched out\nand CPU B waiting for the current task in CPU A to get switched out.  This\nwill result in a deadlock.\n\nPrevent this scenario from happening by pinning the sync threads of each\nCPU to run on that CPU. By doing this, we guarantee that sync notifiers\nwill only try to wake up sync threads running on that CPU. The fix added by\n\"cpufreq: cpu-boost: Resolve deadlock when waking up sync thread\" ensures a\ndeadlock doesn't happen when a sync notifier tries to wake up a sync thread\nrunning on that CPU.\n\nChange-Id: I864e545529722a23886dd5a82f66089155d2d193\nSigned-off-by: Saravana Kannan <skannan@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/BEXUS-L/android_kernel_bn_acclaim/commits/f587c04b2c5f0ad838dcbea2574687408f355b5b"},{"sha":"95b38b677ffef52745fbd40172855c016ba13b3a","author":{"email":"ce25c3cee4cc6c4c8acfc1680b3ed89cf644dba3@codeaurora.org","name":"Saravana Kannan"},"message":"cpufreq: cpu-boost: Don't register for cpufreq notifiers too early\n\nThe cpufreq notifiers should be registered only after all the data\nstructures used in the notifier callbacks have been initialized. So, move\nthe cpufreq notifier registration to a later point in the init function.\n\nChange-Id: I043ab5bc0ebb98164c40549fe151a8d801c8c186\nSigned-off-by: Saravana Kannan <skannan@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/BEXUS-L/android_kernel_bn_acclaim/commits/95b38b677ffef52745fbd40172855c016ba13b3a"},{"sha":"5cf749443bc4ae70639011fcd43bd69e7157c2d0","author":{"email":"785dce9813c74aa517a07b7a1160c1a9cdebd7be@codeaurora.org","name":"Swetha Chikkaboraiah"},"message":"cpufreq: cpu-boost: Use interruptible wait to not affect load average\n\ncommit 8c9c0f428a104e850252e7735c9723d9611c3f5c upstream.\n\nUsing the function wait_event in cpu_boost puts the\nprocess enter to 'D' state which contribute to the\nhigh load average. This change will put the process\nboost_sync in the 'S' state (interruptible sleep).\n\nCRs-Fixed: 655484\nChange-Id: Ie121adbe1fac1d2862ac5342bb97c7c926f7d7a8\nSigned-off-by: Swetha Chikkaboraiah <schikk@codeaurora.org>\nReviewed-on: http://gerrit.mot.com/681716\nSubmit-Approved: Jira Key <jirakey@motorola.com>\nTested-by: Jira Key <jirakey@motorola.com>\nSLTApproved: Slta Waiver <sltawvr@motorola.com>\nReviewed-by: Christopher Fries <cfries@motorola.com>","distinct":true,"url":"https://api.github.com/repos/BEXUS-L/android_kernel_bn_acclaim/commits/5cf749443bc4ae70639011fcd43bd69e7157c2d0"},{"sha":"9b1df967688b50281c0a6a1ba6d4edfb6983a26d","author":{"email":"d79fadde9de82c838211e8a952123da40fe360c0@motorola.com","name":"Lianwei Wang"},"message":"cpufreq: cpu-boost: Dont boost if interrupted by signal\n\nDon't do boost sync if wait queue is interrupted by a signal.\n\nChange-Id: I29d3661d5cad5cfc2b99037fc664b3fb2f5cc0f8\nSigned-off-by: Lianwei Wang <a22439@motorola.com>\nReviewed-on: http://gerrit.mot.com/681834\nSLTApproved: Slta Waiver <sltawvr@motorola.com>\nTested-by: Jira Key <jirakey@motorola.com>\nReviewed-by: Christopher Fries <cfries@motorola.com>\nSubmit-Approved: Jira Key <jirakey@motorola.com>","distinct":true,"url":"https://api.github.com/repos/BEXUS-L/android_kernel_bn_acclaim/commits/9b1df967688b50281c0a6a1ba6d4edfb6983a26d"},{"sha":"ea7d46e21e1959ddc5f66fae2be4022c3f7f8c91","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/BEXUS-L/android_kernel_bn_acclaim/commits/ea7d46e21e1959ddc5f66fae2be4022c3f7f8c91"},{"sha":"7f1b8c5001349d60fd0a42272d7905551884383c","author":{"email":"9fa1be1a5b5729e4c6b404f34c9ce49ff4882fd8@redhat.com","name":"Hans de Goede"},"message":"cgroup: Take css_set_lock from cgroup_css_sets_empty()\n\nAs indicated in the comment above cgroup_css_sets_empty it needs the\ncss_set_lock. But neither of the 2 call points have it, so rather then fixing\nthe callers just take the lock inside cgroup_css_sets_empty().\n\nSigned-off-by: Hans de Goede <hdegoede@redhat.com>\nChange-Id: If7aea71824f6d0e3f2cc6c1ce236c3ae6be2037b","distinct":true,"url":"https://api.github.com/repos/BEXUS-L/android_kernel_bn_acclaim/commits/7f1b8c5001349d60fd0a42272d7905551884383c"},{"sha":"a4005f446a9d6fc266051ee44ee992cba198a084","author":{"email":"9fa1be1a5b5729e4c6b404f34c9ce49ff4882fd8@redhat.com","name":"Hans de Goede"},"message":"cgroup: Fix use after free of cgrp (cgrp->css_sets)\n\nRunning a 3.4 kernel + Fedora-18 (systemd) userland on my Allwinner A10\n(arm cortex a8), I'm seeing repeated, reproducable list_del list corruption\nerrors when build with CONFIG_DEBUG_LIST, and the backtrace always shows\nfree_css_set_work as the function making the problematic list_del call.\n\nI've tracked this doen to a use after free of the cgrp struct, specifically\nof the cgrp->css_sets list_head, which gets cleared by free_css_set_work.\n\nSince free_css_set_work runs form a workqueue, it is possible for it to not be\ndone with clearing the list when the cgrp gets free-ed. To avoid this the code\nadding the links increases cgrp->count, and the freeing code running from the\nworkqueue decreases cgrp->count *after* doing list_del, and then if the count\ngoes to 0 calls cgroup_wakeup_rmdir_waiter().\n\nHowever cgroup_rmdir() is missing a check for cgrp->count != 0, causing it\nto still continue with the rmdir (which leads to the free-ing of the cgrp),\nbefore free_css_set_work is done. Sometimes the free-ed memory is re-used\nbefore free_css_set_work gets around to unlinking link->cgrp_link_list,\ntriggering the list_del list corruption messages.\n\nThis patch fixes this by properly checking for cgrp->count != 0 and waiting\nfor the cgroup_rmdir_waitq in that case.\n\nChange-Id: I9dbc02a0a75d5dffa1b65d67456e00139dea57c3\nSigned-off-by: Hans de Goede <hdegoede@redhat.com>","distinct":true,"url":"https://api.github.com/repos/BEXUS-L/android_kernel_bn_acclaim/commits/a4005f446a9d6fc266051ee44ee992cba198a084"},{"sha":"424c9a901c8b2a08a852c315215d429b74cd174c","author":{"email":"d282495bfb62d367009a66784cabed6d13acc2f2@codeaurora.org","name":"Steve Muckle"},"message":"sched: fix race between try_to_wake_up() and move_task()\n\nUntil a task's state has been seen as interruptible/uninterruptible\nand it is no longer on_cpu, it is possible that the task may move\nto another CPU (load balancing may cause this). Here is an example\nwhere the race condition results in incorrect operation:\n\n- cpu 0 calls put_prev_task on task A, task A's state is TASK_RUNNING\n- cpu 0 runs task B, which attempts to wake up A\n- cpu 0 begins try_to_wake_up(), recording src_cpu for task A as cpu 0\n- cpu 1 then pulls task A (perhaps due to idle balance)\n- cpu 1 runs task A, which then sleeps, becoming INTERRUPTIBLE\n- cpu 0 continues in try_to_wake_up(), thinking task A's previous\n  cpu is 0, where it is actually 1\n- if select_task_rq returns cpu 0, task A will be woken up on cpu 0\n  without properly updating its cpu to 0 in set_task_cpu()\n\nCRs-Fixed: 665958\nChange-Id: Icee004cb320bd8edfc772d9f74e670a9d4978a99\nSigned-off-by: Steve Muckle <smuckle@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/BEXUS-L/android_kernel_bn_acclaim/commits/424c9a901c8b2a08a852c315215d429b74cd174c"},{"sha":"b611561bdd423c121d9452d4ec9ec78339c61fd3","author":{"email":"ce25c3cee4cc6c4c8acfc1680b3ed89cf644dba3@codeaurora.org","name":"Saravana Kannan"},"message":"cpufreq: Fix policy getting stuck when user & kernel min/max don't overlap\n\nEvery __cpufreq_set_policy starts with checking the new policy min/max has\nsome overlap with the current policy min/max. This works out fine until we\nend up with the policy min/max being set to a range that doesn't overlap\nwith the user policy min/max. Once we get into this situation, the check at\nthe start of __cpufreq_set_policy fails and prevents us from getting out of\nthis state.\n\nThis only happens when one of the CPUFREQ_ADJUST/CPUFREQ_INCOMPATIBLE\nnotifiers called inside __cpufreq_set_policy pick a min/max outside the\nrange of user policy min/max.\n\nThe real intent of the check at the start of __cpufreq_set_policy is to\nmake sure userspace can't set user policy min > user policy max. Since\n__cpufreq_set_policy always gets called only with current user policy\nmin/max except when the actual user space policy min/max is changed, we can\nfix the issue by simply checking the new policy min/max against current\nuser policy min/max.\n\nChange-Id: Iaac805825e64d7985c41fb9052bd96baacdf3d6f\nSigned-off-by: Saravana Kannan <skannan@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/BEXUS-L/android_kernel_bn_acclaim/commits/b611561bdd423c121d9452d4ec9ec78339c61fd3"},{"sha":"31cc606abb01c26fb891951211527c04a70ad557","author":{"email":"e7b4910f4742918f5926c991d8a2cd122ac7e295@codeaurora.org","name":"Laura Abbott"},"message":"binder: Quiet binder\n\nThe majority of the binder messages are not very informative\nand useful to the reader. Make them available via debug\nmechanisms.\n\n(cherry picked from commit 6764fd9f8a0d1cb1f9bbff4100fda0df6aeafafc)\n\nChange-Id: Icc3f3619105b4d5477954e0eb8806d4f28e543ce\nSigned-off-by: Laura Abbott <lauraa@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/BEXUS-L/android_kernel_bn_acclaim/commits/31cc606abb01c26fb891951211527c04a70ad557"},{"sha":"f6c8fea0786f7c6d245a6e491d642d7be5c0663a","author":{"email":"d77b46f71ad07d1c66a004715c9110750816d270@motorola.com","name":"Jason Hrycay"},"message":"IKHSS7-23671: android: binder: reduce memory for binder debugfs\n\nReduce the amount of memory the binder debugfs seq_file's need\nto output the large amount of data they provide.  This breaks up\nthe individual reads into smaller objects to limit the kmalloc'd\nmemory to a PAGE.  This helps reduce OOM conditions when these\nfiles are read in mildly fragmented systems.\n\nChange-Id: I368573914f73975321270ea1cafe3fb3ef7de28a\nSigned-off-by: Jason Hrycay <jason.hrycay@motorola.com>\nReviewed-on: http://gerrit.pcs.mot.com/391877\nTested-by: Jira Key <JIRAKEY@motorola.com>\nReviewed-by: Igor Kovalenko <Igor.Kovalenko@motorola.com>\nReviewed-by: Check Patch <CHEKPACH@motorola.com>\nReviewed-by: Klocwork kwcheck <klocwork-kwcheck@sourceforge.mot.com>\nReviewed-by: Christopher Fries <C.Fries@motorola.com>","distinct":true,"url":"https://api.github.com/repos/BEXUS-L/android_kernel_bn_acclaim/commits/f6c8fea0786f7c6d245a6e491d642d7be5c0663a"},{"sha":"14565398f0dfb8a249d5468cd1f4be0e35ab9565","author":{"email":"2375fa63e2908bb2df59f606483a3aa92321db7a@doshaska.net","name":"nadlabak"},"message":"Update copyright to The Linux Foundation\n\nChange-Id: I666b0636a6059417ecf6f762006570d47e9d5a05","distinct":true,"url":"https://api.github.com/repos/BEXUS-L/android_kernel_bn_acclaim/commits/14565398f0dfb8a249d5468cd1f4be0e35ab9565"},{"sha":"c63ecb3669354a9f8327560dd539e012f0dc45f3","author":{"email":"ebac1d06c1688626821bb0e574a037a7a5354e49@redhat.com","name":"David Howells"},"message":"Wrap accesses to the fd_sets in struct fdtable\n\nWrap accesses to the fd_sets in struct fdtable (for recording open files and\nclose-on-exec flags) so that we can move away from using fd_sets since we\nabuse the fd_set structs by not allocating the full-sized structure under\nnormal circumstances and by non-core code looking at the internals of the\nfd_sets.\n\nThe first abuse means that use of FD_ZERO() on these fd_sets is not permitted,\nsince that cannot be told about their abnormal lengths.\n\nThis introduces six wrapper functions for setting, clearing and testing\nclose-on-exec flags and fd-is-open flags:\n\n\tvoid __set_close_on_exec(int fd, struct fdtable *fdt);\n\tvoid __clear_close_on_exec(int fd, struct fdtable *fdt);\n\tbool close_on_exec(int fd, const struct fdtable *fdt);\n\tvoid __set_open_fd(int fd, struct fdtable *fdt);\n\tvoid __clear_open_fd(int fd, struct fdtable *fdt);\n\tbool fd_is_open(int fd, const struct fdtable *fdt);\n\nNote that I've prepended '__' to the names of the set/clear functions because\nthey require the caller to hold a lock to use them.\n\nNote also that I haven't added wrappers for looking behind the scenes at the\nthe array.  Possibly that should exist too.\n\nSigned-off-by: David Howells <dhowells@redhat.com>\nLink: http://lkml.kernel.org/r/20120216174942.23314.1364.stgit@warthog.procyon.org.uk\nSigned-off-by: H. Peter Anvin <hpa@zytor.com>\nCc: Al Viro <viro@zeniv.linux.org.uk>","distinct":true,"url":"https://api.github.com/repos/BEXUS-L/android_kernel_bn_acclaim/commits/c63ecb3669354a9f8327560dd539e012f0dc45f3"},{"sha":"eb7308a4824419c74281774405f03073b84f95d1","author":{"email":"ebac1d06c1688626821bb0e574a037a7a5354e49@redhat.com","name":"David Howells"},"message":"fs: Remove missed ->fds_bits from cessation use of fd_set structs internally\n\nStephen Rothwell reported that the following commit broke the\nlinux-next build:\n\n  1fd36adcd98c: Replace the fd_sets in struct fdtable with an array of unsigned longs\n\nFix places where ->fds_bits needed to be removed as the core\nkernel no longer uses fd_set internally for file descriptor\ntable management.  There are two places:\n\n (1) drivers/staging/android/binder.c\n\n (2) arch/mips/kernel/kspd.c\n\n     Question: Should sp_cleanup() in the MIPS arch be using find_next_bit()\n     or fls()?\n\nReported-by: Stephen Rothwell <sfr@canb.auug.org.au>\nSigned-off-by: David Howells <dhowells@redhat.com>\ncc: Ralf Bächle <ralf@linux-mips.org>\ncc: Arve Hjønnevåg <arve@android.com>\nLink: http://lkml.kernel.org/r/20120224105707.32170.11550.stgit@warthog.procyon.org.uk\nSigned-off-by: Ingo Molnar <mingo@elte.hu>","distinct":true,"url":"https://api.github.com/repos/BEXUS-L/android_kernel_bn_acclaim/commits/eb7308a4824419c74281774405f03073b84f95d1"},{"sha":"c8f476ec9a4dfbc6106059514a413efae2c0e6e1","author":{"email":"203686835f49d1750fcbb70065cda5c503139a61@android.com","name":"Arve Hjønnevåg"},"message":"Staging: android: binder: Don't call dump_stack in binder_vma_open\n\nIf user-space partially unmaps the driver, binder_vma_open\nwould dump the kernel stack. This is not a kernel bug however\nand will be treated as if the whole area was unmapped once\nbinder_vma_close gets called.\n\nSigned-off-by: Arve Hjønnevåg <arve@android.com>\nCc: stable <stable@vger.kernel.org>\nSigned-off-by: Greg Kroah-Hartman <gregkh@suse.de>","distinct":true,"url":"https://api.github.com/repos/BEXUS-L/android_kernel_bn_acclaim/commits/c8f476ec9a4dfbc6106059514a413efae2c0e6e1"}]}