Will Deacon
a44a9791e7
iommu/arm-smmu: use mutex instead of spinlock for locking page tables
...
When creating IO mappings, we lazily allocate our page tables using the
standard, non-atomic allocator functions. This presents us with a
problem, since our page tables are protected with a spinlock.
This patch reworks the smmu_domain lock to use a mutex instead of a
spinlock. iova_to_phys is then reworked so that it only reads the page
tables, and can run in a lockless fashion, leaving the mutex to guard
against concurrent mapping threads.
Cc: <stable@vger.kernel.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2013-12-06 16:44:13 +00:00
..
2013-11-27 01:03:27 +01:00
2013-11-27 13:55:16 -05:00
2013-11-19 15:53:02 -05:00
2013-11-20 13:25:04 -08:00
2013-11-13 17:40:34 +09:00
2013-11-21 16:42:27 -08:00
2013-11-14 08:51:29 +09:00
2013-11-23 16:18:25 -08:00
2013-11-15 16:47:22 -08:00
2013-11-14 17:19:20 -05:00
2013-11-27 01:03:43 +01:00
2013-11-14 13:41:48 +09:00
2013-11-23 16:18:25 -08:00
2013-11-20 13:20:24 -08:00
2013-11-18 14:51:52 -08:00
2013-11-15 09:32:21 +09:00
2013-11-14 07:55:21 +09:00
2013-11-28 09:57:46 -08:00
2013-11-29 08:36:15 +10:00
2013-11-27 20:41:54 -08:00
2013-11-27 01:03:27 +01:00
2013-11-29 09:55:13 -08:00
2013-11-20 13:25:04 -08:00
2013-11-19 01:06:28 +01:00
2013-11-25 12:50:11 -08:00
2013-11-22 10:52:03 -08:00
2013-11-24 10:45:29 -08:00
2013-12-06 16:44:13 +00:00
2013-11-14 08:51:29 +09:00
2013-11-20 21:52:30 -05:00
2013-11-27 11:35:47 +11:00
2013-11-28 11:00:15 +11:00
2013-11-20 13:20:24 -08:00
2013-11-15 09:32:21 +09:00
2013-11-13 12:09:26 +09:00
2013-11-15 16:47:22 -08:00
2013-11-20 13:20:24 -08:00
2013-11-20 13:25:04 -08:00
2013-11-20 13:20:24 -08:00
2013-11-22 09:57:35 -08:00
2013-11-26 11:15:12 -08:00
2013-11-14 07:55:21 +09:00
2013-11-15 14:05:15 -08:00
2013-11-27 20:34:32 -08:00
2013-11-12 16:52:17 +09:00
2013-11-14 10:43:17 -08:00
2013-11-26 13:03:36 +09:00
2013-11-14 23:17:21 +01:00
2013-11-18 15:35:09 -08:00
2013-11-13 12:09:35 +09:00
2013-11-24 14:02:50 +00:00
2013-11-21 16:42:27 -08:00
2013-11-20 09:04:54 +01:00
2013-11-22 10:52:03 -08:00
2013-11-20 13:25:04 -08:00
2013-11-27 09:32:49 -08:00
2013-11-22 10:52:03 -08:00
2013-11-19 15:50:47 -08:00
2013-11-25 18:30:21 -08:00
2013-11-13 12:09:23 +09:00
2013-11-22 10:52:03 -08:00
2013-11-22 10:52:03 -08:00
2013-11-16 12:45:55 -08:00
2013-11-15 13:28:47 +09:00
2013-11-15 09:32:21 +09:00
2013-11-18 21:34:19 +01:00
2013-11-20 13:25:04 -08:00
2013-11-14 13:41:48 +09:00
2013-11-14 13:41:48 +09:00