Linus,

Please pull the latest irq-core-for-linus git tree from:

   git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq-core-for-linus

   # HEAD: 471ba0e686cb13752bc1ff3216c54b69a2d250ea irq_work: Do not raise an 
IPI when queueing work on the local CPU

The changes in this cycle were:

 - Remove the irq timings/variance statistics code that tried to predict 
   when the next interrupt would occur, which didn't work out as hoped 
   and will is replaced by another mechanism.

 - This new mechanism is the 'array suffix computation' estimate, which 
   is superior to the previous one as it can detect not just a single 
   periodic pattern, but independent periodic patterns along a log-2 
   scale of bucketing and exponential moving average. The comments are 
   longer than the code - and it works better at predicting various 
   complex interrupt patterns from real-world devices than the previous 
   estimate.

 - avoid IRQ-work self-IPIs on the local CPU

 - fix work-list corruption in irq_set_affinity_notifier()

 Thanks,

        Ingo

------------------>
Daniel Lezcano (2):
      genirq/timings: Remove variance computation code
      genirq/timings: Add array suffix computation code

Gustavo A. R. Silva (1):
      genirq/devres: Use struct_size() in devm_kzalloc()

Nicholas Piggin (1):
      irq_work: Do not raise an IPI when queueing work on the local CPU

Prasad Sodagudi (1):
      genirq: Prevent use-after-free and work list corruption


 kernel/irq/devres.c  |   3 +-
 kernel/irq/manage.c  |   4 +-
 kernel/irq/timings.c | 522 +++++++++++++++++++++++++++++++++++----------------
 kernel/irq_work.c    |  75 ++++----
 4 files changed, 409 insertions(+), 195 deletions(-)

Reply via email to