{"push_id":1389188468,"size":2,"distinct_size":2,"ref":"refs/heads/slow","head":"a561b4662aa36fc42785a628ad29afff328ab608","before":"918303a672f6ed344122e804531cf013ccdcce98","commits":[{"sha":"01583ea2393f15a2cd7d890f3cdad55b616e36f7","author":{"name":"Lina Iyer","email":"66381794b511865811c22e99234433cf7e2bd98f@linaro.org"},"message":"irq: Allow multiple clients to register for irq affinity notification\n\nPM QoS and other idle frameworks can do a better job of addressing power\nand performance requirements for a cpu, knowing the IRQs that are\naffine to that cpu. If a performance request is placed against serving\nthe IRQ faster and if the IRQ is affine to a set of cpus, then setting\nthe performance requirements only on those cpus help save power on the\nrest of the cpus. PM QoS framework is one such framework interested in\nknowing the smp_affinity of an IRQ and the change notificiation in this\nregard. QoS requests for the CPU_DMA_LATENCY constraint currently apply\nto all cpus, but when attached to an IRQ, can be applied only to the set\nof cpus that IRQ's smp_affinity is set to. This allows other cpus to\nenter deeper sleep states to save power. More than one framework/driver\ncan be interested in such information.\n\nThe current implementation allows only a single notification callback\nwhenever the IRQ's SMP affinity is changed. Adding a second notification\npunts the existing notifier function out of registration.  Add a list of\nnotifiers, allowing multiple clients to register for irq affinity\nnotifications.\n\nThe kref object associated with the struct irq_affinity_notify was used\nto prevent the notifier object from being released if there is a pending\nnotification. It was incremented before the work item was scheduled and\nwas decremented when the notification was completed. If the kref count\nwas zero at the end of it, the release function gets a callback allowing\nthe module to release the irq_affinity_notify memory. This works well\nfor a single notification. When multiple clients are registered, no\nsingle kref object can be used. Hence, the work function when scheduled,\nwill increase the kref count using the kref_get_unless_zero(), so if the\nmodule had already unregistered the irq_affinity_notify object while the\nwork function was scheduled, it will not be notified.\n\nChange-Id: If2e38ce8d7c43459ba1604d5b4798d1bad966997\nSigned-off-by: Lina Iyer <lina.iyer@linaro.org>\nPatch-mainline: linux-pm @ Wed, 27 Aug 2014 13:18:28\nhttps://lkml.org/lkml/2014/8/27/609\n[mnalajal@codeaurora.org: resolve NON SMP target compilation issues]\nSigned-off-by: Murali Nalajala <mnalajal@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/tunturn/android_kernel_aries_concept/commits/01583ea2393f15a2cd7d890f3cdad55b616e36f7"},{"sha":"a561b4662aa36fc42785a628ad29afff328ab608","author":{"name":"Srinivas Rao L","email":"01593fd00b96ab00ca82cd04bb85c6e046756da8@codeaurora.org"},"message":"qos: Disable irq notifier when qos request is removed\n\nWhen a qos request is added with IRQ affinity, irq notifier\nfor that irq is added and with out disabling the irq\nnotifier if the irq is free it will lead to crashes.\nSo disable irq notifier when the qos request is removed.\n\nChange-Id: I72818bee97e65ae41f6f07667bf90bd629357caf\nSigned-off-by: Srinivas Rao L <lsrao@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/tunturn/android_kernel_aries_concept/commits/a561b4662aa36fc42785a628ad29afff328ab608"}]}
{"actor":{"display_login":"tunturn"}}