diff options
| -rw-r--r-- | Documentation/lockstat.txt | 2 | ||||
| -rw-r--r-- | drivers/char/random.c | 6 | ||||
| -rw-r--r-- | drivers/idle/i7300_idle.c | 8 | ||||
| -rw-r--r-- | drivers/usb/chipidea/debug.c | 2 | ||||
| -rw-r--r-- | fs/file.c | 2 | ||||
| -rw-r--r-- | include/asm-generic/cmpxchg-local.h | 8 | ||||
| -rw-r--r-- | include/linux/idr.h | 2 | ||||
| -rw-r--r-- | include/linux/lockdep.h | 2 | ||||
| -rw-r--r-- | include/linux/seqlock.h | 193 | ||||
| -rw-r--r-- | kernel/futex.c | 2 | ||||
| -rw-r--r-- | kernel/futex_compat.c | 2 | ||||
| -rw-r--r-- | kernel/lockdep.c | 15 | ||||
| -rw-r--r-- | kernel/time/ntp.c | 26 | ||||
| -rw-r--r-- | kernel/watchdog.c | 10 | ||||
| -rw-r--r-- | lib/locking-selftest.c | 34 | ||||
| -rw-r--r-- | lib/rwsem-spinlock.c | 69 | ||||
| -rw-r--r-- | lib/rwsem.c | 75 |
17 files changed, 221 insertions, 237 deletions
diff --git a/Documentation/lockstat.txt b/Documentation/lockstat.txt index cef00d42ed5b..dd2f7b26ca30 100644 --- a/Documentation/lockstat.txt +++ b/Documentation/lockstat.txt | |||
| @@ -65,7 +65,7 @@ that had to wait on lock acquisition. | |||
| 65 | 65 | ||
| 66 | - CONFIGURATION | 66 | - CONFIGURATION |
| 67 | 67 | ||
| 68 | Lock statistics are enabled via CONFIG_LOCK_STATS. | 68 | Lock statistics are enabled via CONFIG_LOCK_STAT. |
| 69 | 69 | ||
| 70 | - USAGE | 70 | - USAGE |
| 71 | 71 | ||
diff --git a/drivers/char/random.c b/drivers/char/random.c index 85e81ec1451e..594bda9dcfc8 100644 --- a/drivers/char/random.c +++ b/drivers/char/random.c | |||
| @@ -445,7 +445,7 @@ static struct entropy_store input_pool = { | |||
| 445 | .poolinfo = &poolinfo_table[0], | 445 | .poolinfo = &poolinfo_table[0], |
| 446 | .name = "input", | 446 | .name = "input", |
| 447 | .limit = 1, | 447 | .limit = 1, |
| 448 | .lock = __SPIN_LOCK_UNLOCKED(&input_pool.lock), | 448 | .lock = __SPIN_LOCK_UNLOCKED(input_pool.lock), |
| 449 | .pool = input_pool_data | 449 | .pool = input_pool_data |
| 450 | }; | 450 | }; |
| 451 | 451 | ||
| @@ -454,7 +454,7 @@ static struct entropy_store blocking_pool = { | |||
| 454 | .name = "blocking", | 454 | .name = "blocking", |
| 455 | .limit = 1, | 455 | .limit = 1, |
| 456 | .pull = &input_pool, | 456 | .pull = &input_pool, |
| 457 | .lock = __SPIN_LOCK_UNLOCKED(&blocking_pool.lock), | 457 | .lock = __SPIN_LOCK_UNLOCKED(blocking_pool.lock), |
| 458 | .pool = blocking_pool_data | 458 | .pool = blocking_pool_data |
| 459 | }; | 459 | }; |
| 460 | 460 | ||
| @@ -462,7 +462,7 @@ static struct entropy_store nonblocking_pool = { | |||
| 462 | .poolinfo = &poolinfo_table[1], | 462 | .poolinfo = &poolinfo_table[1], |
| 463 | .name = "nonblocking", | 463 | .name = "nonblocking", |
| 464 | .pull = &input_pool, | 464 | .pull = &input_pool, |
| 465 | .lock = __SPIN_LOCK_UNLOCKED(&nonblocking_pool.lock), | 465 | .lock = __SPIN_LOCK_UNLOCKED(nonblocking_pool.lock), |
| 466 | .pool = nonblocking_pool_data | 466 | .pool = nonblocking_pool_data |
| 467 | }; | 467 | }; |
| 468 | 468 | ||
diff --git a/drivers/idle/i7300_idle.c b/drivers/idle/i7300_idle.c index fa080ebd568f..ffeebc7e9f1c 100644 --- a/drivers/idle/i7300_idle.c +++ b/drivers/idle/i7300_idle.c | |||
| @@ -75,7 +75,7 @@ static unsigned long past_skip; | |||
| 75 | 75 | ||
| 76 | static struct pci_dev *fbd_dev; | 76 | static struct pci_dev *fbd_dev; |
| 77 | 77 | ||
| 78 | static spinlock_t i7300_idle_lock; | 78 | static raw_spinlock_t i7300_idle_lock; |
| 79 | static int i7300_idle_active; | 79 | static int i7300_idle_active; |
| 80 | 80 | ||
| 81 | static u8 i7300_idle_thrtctl_saved; | 81 | static u8 i7300_idle_thrtctl_saved; |
| @@ -457,7 +457,7 @@ static int i7300_idle_notifier(struct notifier_block *nb, unsigned long val, | |||
| 457 | idle_begin_time = ktime_get(); | 457 | idle_begin_time = ktime_get(); |
| 458 | } | 458 | } |
| 459 | 459 | ||
| 460 | spin_lock_irqsave(&i7300_idle_lock, flags); | 460 | raw_spin_lock_irqsave(&i7300_idle_lock, flags); |
| 461 | if (val == IDLE_START) { | 461 | if (val == IDLE_START) { |
| 462 | 462 | ||
| 463 | cpumask_set_cpu(smp_processor_id(), idle_cpumask); | 463 | cpumask_set_cpu(smp_processor_id(), idle_cpumask); |
| @@ -506,7 +506,7 @@ static int i7300_idle_notifier(struct notifier_block *nb, unsigned long val, | |||
| 506 | } | 506 | } |
| 507 | } | 507 | } |
| 508 | end: | 508 | end: |
| 509 | spin_unlock_irqrestore(&i7300_idle_lock, flags); | 509 | raw_spin_unlock_irqrestore(&i7300_idle_lock, flags); |
| 510 | return 0; | 510 | return 0; |
| 511 | } | 511 | } |
| 512 | 512 | ||
| @@ -548,7 +548,7 @@ struct debugfs_file_info { | |||
| 548 | 548 | ||
| 549 | static int __init i7300_idle_init(void) | 549 | static int __init i7300_idle_init(void) |
| 550 | { | 550 | { |
| 551 | spin_lock_init(&i7300_idle_lock); | 551 | raw_spin_lock_init(&i7300_idle_lock); |
| 552 | total_us = 0; | 552 | total_us = 0; |
| 553 | 553 | ||
| 554 | if (i7300_idle_platform_probe(&fbd_dev, &ioat_dev, forceload)) | 554 | if (i7300_idle_platform_probe(&fbd_dev, &ioat_dev, forceload)) |
diff --git a/drivers/usb/chipidea/debug.c b/drivers/usb/chipidea/debug.c index 3bc244d2636a..a62c4a47d52c 100644 --- a/drivers/usb/chipidea/debug.c +++ b/drivers/usb/chipidea/debug.c | |||
| @@ -222,7 +222,7 @@ static struct { | |||
| 222 | } dbg_data = { | 222 | } dbg_data = { |
| 223 | .idx = 0, | 223 | .idx = 0, |
| 224 | .tty = 0, | 224 | .tty = 0, |
| 225 | .lck = __RW_LOCK_UNLOCKED(lck) | 225 | .lck = __RW_LOCK_UNLOCKED(dbg_data.lck) |
| 226 | }; | 226 | }; |
| 227 | 227 | ||
| 228 | /** | 228 | /** |
| @@ -516,7 +516,7 @@ struct files_struct init_files = { | |||
| 516 | .close_on_exec = init_files.close_on_exec_init, | 516 | .close_on_exec = init_files.close_on_exec_init, |
| 517 | .open_fds = init_files.open_fds_init, | 517 | .open_fds = init_files.open_fds_init, |
| 518 | }, | 518 | }, |
| 519 | .file_lock = __SPIN_LOCK_UNLOCKED(init_task.file_lock), | 519 | .file_lock = __SPIN_LOCK_UNLOCKED(init_files.file_lock), |
| 520 | }; | 520 | }; |
| 521 | 521 | ||
| 522 | /* | 522 | /* |
diff --git a/include/asm-generic/cmpxchg-local.h b/include/asm-generic/cmpxchg-local.h index 2533fddd34a6..d8d4c898c1bb 100644 --- a/include/asm-generic/cmpxchg-local.h +++ b/include/asm-generic/cmpxchg-local.h | |||
| @@ -21,7 +21,7 @@ static inline unsigned long __cmpxchg_local_generic(volatile void *ptr, | |||
| 21 | if (size == 8 && sizeof(unsigned long) != 8) | 21 | if (size == 8 && sizeof(unsigned long) != 8) |
| 22 | wrong_size_cmpxchg(ptr); | 22 | wrong_size_cmpxchg(ptr); |
| 23 | 23 | ||
| 24 | local_irq_save(flags); | 24 | raw_local_irq_save(flags); |
| 25 | switch (size) { | 25 | switch (size) { |
| 26 | case 1: prev = *(u8 *)ptr; | 26 | case 1: prev = *(u8 *)ptr; |
| 27 | if (prev == old) | 27 | if (prev == old) |
| @@ -42,7 +42,7 @@ static inline unsigned long __cmpxchg_local_generic(volatile void *ptr, | |||
| 42 | default: | 42 | default: |
| 43 | wrong_size_cmpxchg(ptr); | 43 | wrong_size_cmpxchg(ptr); |
| 44 | } | 44 | } |
| 45 | local_irq_restore(flags); | 45 | raw_local_irq_restore(flags); |
| 46 | return prev; | 46 | return prev; |
| 47 | } | 47 | } |
| 48 | 48 | ||
| @@ -55,11 +55,11 @@ static inline u64 __cmpxchg64_local_generic(volatile void *ptr, | |||
| 55 | u64 prev; | 55 | u64 prev; |
| 56 | unsigned long flags; | 56 | unsigned long flags; |
| 57 | 57 | ||
| 58 | local_irq_save(flags); | 58 | raw_local_irq_save(flags); |
| 59 | prev = *(u64 *)ptr; | 59 | prev = *(u64 *)ptr; |
| 60 | if (prev == old) | 60 | if (prev == old) |
| 61 | *(u64 *)ptr = new; | 61 | *(u64 *)ptr = new; |
| 62 | local_irq_restore(flags); | 62 | raw_local_irq_restore(flags); |
| 63 | return prev; | 63 | return prev; |
| 64 | } | 64 | } |
| 65 | 65 | ||
diff --git a/include/linux/idr.h b/include/linux/idr.h index de7e190f1af4..e5eb125effe6 100644 --- a/include/linux/idr.h +++ b/include/linux/idr.h | |||
| @@ -136,7 +136,7 @@ struct ida { | |||
| 136 | struct ida_bitmap *free_bitmap; | 136 | struct ida_bitmap *free_bitmap; |
| 137 | }; | 137 | }; |
| 138 | 138 | ||
| 139 | #define IDA_INIT(name) { .idr = IDR_INIT(name), .free_bitmap = NULL, } | 139 | #define IDA_INIT(name) { .idr = IDR_INIT((name).idr), .free_bitmap = NULL, } |
| 140 | #define DEFINE_IDA(name) struct ida name = IDA_INIT(name) | 140 | #define DEFINE_IDA(name) struct ida name = IDA_INIT(name) |
| 141 | 141 | ||
| 142 | int ida_pre_get(struct ida *ida, gfp_t gfp_mask); | 142 | int ida_pre_get(struct ida *ida, gfp_t gfp_mask); |
diff --git a/include/linux/lockdep.h b/include/linux/lockdep.h index bfe88c4aa251..f1e877b79ed8 100644 --- a/include/linux/lockdep.h +++ b/include/linux/lockdep.h | |||
| @@ -412,7 +412,7 @@ struct lock_class_key { }; | |||
| 412 | 412 | ||
