Will Deacon
a0890a0272
ARC: atomics: unbork atomic_fetch_##op()
...
[ Upstream commit 3fcbb8260a87efb691d837e8cd24e81f65b3eb70 ]
In 4.19-rc1, Eugeniy reported weird boot and IO errors on ARC HSDK
| INFO: task syslogd:77 blocked for more than 10 seconds.
| Not tainted 4.19.0-rc1-00007-gf213acea4e88 #40
| "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
| message.
| syslogd D 0 77 76 0x00000000
|
| Stack Trace:
| __switch_to+0x0/0xac
| __schedule+0x1b2/0x730
| io_schedule+0x5c/0xc0
| __lock_page+0x98/0xdc
| find_lock_entry+0x38/0x100
| shmem_getpage_gfp.isra.3+0x82/0xbfc
| shmem_fault+0x46/0x138
| handle_mm_fault+0x5bc/0x924
| do_page_fault+0x100/0x2b8
| ret_from_exception+0x0/0x8
He bisected to 84c6591103db ("locking/atomics,
asm-generic/bitops/lock.h: Rewrite using atomic_fetch_*()")
This commit however only unmasked the real issue introduced by commit
4aef66c8ae9 ("locking/atomic, arch/arc: Fix build") which missed the
retry-if-scond-failed branch in atomic_fetch_##op() macros.
The bisected commit started using atomic_fetch_##op() macros for building
the rest of atomics.
Fixes: 4aef66c8ae9 ("locking/atomic, arch/arc: Fix build")
Reported-by: Eugeniy Paltsev <paltsev@synopsys.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
[vgupta: wrote changelog]
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-10-10 08:53:18 +02:00
..
2018-09-09 20:01:24 +02:00
2018-10-10 08:53:18 +02:00
2018-10-03 17:01:48 -07:00
2018-10-03 17:01:55 -07:00
2016-10-07 21:38:00 -07:00
2017-12-20 10:07:32 +01:00
2017-03-31 10:31:46 +02:00
2017-01-12 11:39:24 +01:00
2018-05-19 10:27:00 +02:00
2017-03-31 10:31:46 +02:00
2018-05-19 10:27:00 +02:00
2018-05-30 07:50:34 +02:00
2016-10-19 08:31:25 -07:00
2018-08-24 13:12:34 +02:00
2017-05-25 15:44:46 +02:00
2018-08-03 07:55:25 +02:00
2018-09-26 08:36:40 +02:00
2018-02-17 13:21:20 +01:00
2017-04-12 12:41:14 +02:00
2018-09-19 22:47:11 +02:00
2018-08-24 13:12:41 +02:00
2018-10-10 08:53:18 +02:00
2018-10-03 17:01:45 -07:00
2016-10-19 08:39:47 -07:00
2018-05-30 07:50:39 +02:00
2018-09-09 20:01:24 +02:00
2018-05-19 10:27:00 +02:00
2018-04-24 09:34:13 +02:00
2016-10-11 15:06:32 -07:00
2018-10-03 17:01:47 -07:00
2018-09-09 20:01:23 +02:00
2018-08-15 18:14:46 +02:00