Pavankumar Kondeti
516b19042c
sched/cputime: fix a deadlock on 32bit systems
...
cpu_hardirq_time and cpu_softirq_time are protected with
seqlock on 32bit systems. There is a potential deadlock
with this seqlock and rq->lock.
CPU 1 CPU0
========================== ========================
--> acquire CPU0 rq->lock --> __irq_enter()
----> task enqueue/dequeue ----> irqtime_account_irq()
------> update_rq_clock() ------> irq_time_write_begin()
--------> irq_time_read() --------> sched_account_irqtime()
(waiting for the seqlock (waiting for the CPU0 rq->lock)
held in irq_time_write_begin()
Fix this issue by dropping the seqlock before calling
sched_account_irqtime()
Change-Id: I29a33876e372f99435a57cc11eada9c8cfd59a3f
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org >
2016-03-23 20:02:39 -07:00
..
2015-12-02 23:36:00 -05:00
2015-06-16 11:04:29 +01:00
2016-02-16 13:52:21 -08:00
2016-01-08 13:52:59 -08:00
2015-06-30 19:44:57 -07:00
2015-12-14 09:45:06 +01:00
2015-11-11 17:36:04 +01:00
2016-03-22 11:16:32 -07:00
2016-03-01 12:22:50 -08:00
2016-03-22 11:09:56 -07:00
2015-10-07 16:06:25 -07:00
2016-03-23 20:02:39 -07:00
2016-03-23 20:01:06 -07:00
2016-03-23 19:59:31 -07:00
2015-10-21 15:18:35 +01:00
2015-08-06 16:14:53 -04:00
2015-11-04 08:23:51 -05:00
2015-09-08 13:34:59 -07:00
2015-11-06 17:50:42 -08:00
2015-11-04 08:23:51 -05:00
2015-11-04 08:23:51 -05:00
2015-09-08 13:34:59 -07:00
2015-12-03 10:18:21 -05:00
2015-12-03 10:18:21 -05:00
2016-02-16 13:53:46 -08:00
2015-06-04 23:57:18 +02:00
2015-11-10 12:06:23 +01:00
2016-03-22 11:07:22 -07:00
2016-02-16 13:53:29 -08:00
2015-12-03 10:18:21 -05:00
2015-09-10 13:29:01 -07:00
2016-03-23 20:00:27 -07:00
2015-09-10 13:29:01 -07:00
2016-03-22 11:10:44 -07:00
2015-11-04 21:50:37 -08:00
2015-11-23 09:44:58 +01:00
2015-11-23 09:44:58 +01:00
2015-11-06 17:50:42 -08:00
2015-11-06 17:50:42 -08:00
2015-09-10 13:29:01 -07:00
2015-11-06 17:50:42 -08:00
2015-10-23 17:55:10 +09:00
2015-08-04 10:16:54 +02:00
2015-09-10 13:29:01 -07:00
2015-09-04 16:54:41 -07:00
2015-09-11 15:21:34 -07:00
2015-09-11 15:21:34 -07:00
2015-11-10 12:07:22 -08:00
2015-10-21 15:18:36 +01:00
2016-01-07 12:17:39 -05:00
2015-09-01 08:40:25 -07:00
2016-02-16 13:54:02 -08:00
2015-11-09 15:53:39 -08:00
2015-11-24 12:03:55 -08:00
2015-09-08 15:35:28 -07:00
2015-10-27 19:55:13 -07:00
2015-09-10 13:29:01 -07:00
2015-06-30 19:44:59 -07:00
2015-08-10 23:07:05 -04:00
2015-10-27 19:55:13 -07:00
2015-11-20 16:17:32 -08:00
2016-03-22 11:07:48 -07:00
2015-10-20 10:23:55 +02:00
2015-12-12 10:15:34 -08:00
2015-11-05 19:34:48 -08:00
2016-02-16 13:54:13 -08:00
2016-03-22 11:09:54 -07:00
2016-03-23 20:02:34 -07:00
2015-09-05 13:46:58 -07:00
2015-10-06 11:25:01 -07:00
2015-10-25 21:33:54 -04:00
2015-09-04 16:54:41 -07:00
2016-02-16 13:54:19 -08:00
2016-03-22 11:16:29 -07:00