+ spinlockstxt-add-a-discussion-on-why-spin_is_locked-is-bad-fix.patch added to -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The patch titled
     Subject: spinlockstxt-add-a-discussion-on-why-spin_is_locked-is-bad-fix
has been added to the -mm tree.  Its filename is
     spinlockstxt-add-a-discussion-on-why-spin_is_locked-is-bad-fix.patch

Before you just go and hit "reply", please:
   a) Consider who else should be cc'ed
   b) Prefer to cc a suitable mailing list as well
   c) Ideally: find the original patch on the mailing list and do a
      reply-to-all to that, adding suitable additional cc's

*** Remember to use Documentation/SubmitChecklist when testing your code ***

The -mm tree is included into linux-next and is updated
there every 3-4 working days

------------------------------------------------------
From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Subject: spinlockstxt-add-a-discussion-on-why-spin_is_locked-is-bad-fix

- s/hold/held in various places

- reindent for 80 cols

- a few grammatical tweaks

Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Cc: Wolfram Sang <w.sang@xxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
---

 Documentation/spinlocks.txt |   40 +++++++++++++++++-----------------
 1 file changed, 20 insertions(+), 20 deletions(-)

diff -puN Documentation/spinlocks.txt~spinlockstxt-add-a-discussion-on-why-spin_is_locked-is-bad-fix Documentation/spinlocks.txt
--- a/Documentation/spinlocks.txt~spinlockstxt-add-a-discussion-on-why-spin_is_locked-is-bad-fix
+++ a/Documentation/spinlocks.txt
@@ -148,40 +148,40 @@ indeed), while write-locks need to prote
 
 spin_is_locked is a bad idea
 
-spin_is_locked checks if a lock is currently hold.  On uniprocessor kernels
-it always returns 0. In general this function should be avoided because most
-uses of it are either redundant or broken.
+spin_is_locked checks if a lock is currently held.  On uniprocessor
+kernels it always returns 0.  In general this function should be avoided
+because most uses of it are either redundant or broken.
 
-People often use spin_is_locked() to check if a particular lock is hold when a function
-is called to enforce a locking discipline, like
+People often use spin_is_locked() to check if a particular lock is held
+when a function is called to enforce a locking discipline, like
 
-	WARN_ON(!spin_is_locked(!my_lock))
+	WARN_ON(!spin_is_locked(&my_lock))
 
 or
 
-	BUG_ON(!spin_is_locked(!my_lock))
+	BUG_ON(!spin_is_locked(&my_lock))
 
 or some variant of those.
 
 This does not work on uniprocessor kernels because they will always fail.
-While there are ways around that they are ugly and not recommended.
-Better use lockdep_assert_held(). This also only checks on a lock debugging
-kernel (which you should occasionally run on your code anyways because
-it catches many more problems).
+While there are ways around that they are ugly and not recommended.  It is
+better to use lockdep_assert_held().  This also only checks on a lock
+debugging kernel (which you should occasionally run on your code anyway
+because it catches many more problems).
 
-In generally this would be better done with static annotation anyways
-(there's some support for it in sparse)
+In generally this would be better done with static annotation anyway
+(there is some support for it in sparse)
 
 	BUG_ON(spin_is_locked(obj->lock));
 	kfree(obj);
 
-Another usage is checking whether a lock is not hold when freeing an object.
-However this is redundant because lock debugging supports this anyways
-without explicit code. Just delete the BUG_ON.
-
-A third usage is to check in a console function if a lock is hold, to get
-a panic crash dump out even when some other thread died in it.
-This is better implemented with spin_try_lock() et.al. and a timeout.
+Another usage is checking whether a lock is not held when freeing an
+object.  However this is redundant because lock debugging supports this
+already without explicit code.  Just delete the BUG_ON.
+
+A third usage is to check in a console function if a lock is held, to get
+a panic crash dump even when some other thread died in it.  This is better
+implemented with spin_try_lock() et.al.  and a timeout.
 
 Other usages are usually simply races.
 
_
Subject: Subject: spinlockstxt-add-a-discussion-on-why-spin_is_locked-is-bad-fix

Patches currently in -mm which might be from akpm@xxxxxxxxxxxxxxxxxxxx are

origin.patch
linux-next.patch
linux-next-git-rejects.patch
i-need-old-gcc.patch
arch-alpha-kernel-systblss-remove-debug-check.patch
drivers-block-nvmec-stop-breaking-my-i386-build.patch
drivers-staging-zsmalloc-zsmalloc-mainc-unbork.patch
fs-xattrc-listxattr-fall-back-to-vmalloc-if-kmalloc-failed.patch
fs-xattrc-setxattr-improve-handling-of-allocation-failures.patch
simple_open-automatically-convert-to-simple_open-checkpatch-fixes.patch
arch-x86-platform-iris-irisc-register-a-platform-device-and-a-platform-driver.patch
drivers-xen-kconfig-fix-kconfig-layout.patch
cpuidle-add-a-sysfs-entry-to-disable-specific-c-state-for-debug-purpose.patch
x86-use-this_cpu_xxx-to-replace-percpu_xxx-funcs.patch
percpu-remove-percpu_xxx-functions-fix.patch
net-netfilter-nfnetlink_acctc-use-linux-atomich.patch
fs-symlink-restrictions-on-sticky-directories.patch
fs-hardlink-creation-restrictions.patch
brlocks-lglocks-cleanups.patch
mm.patch
mm-add-extra-free-kbytes-tunable-update-checkpatch-fixes.patch
mm-push-lru-index-into-shrink_active_list-fix.patch
security-keys-keyctlc-suppress-memory-allocation-failure-warning.patch
spinlockstxt-add-a-discussion-on-why-spin_is_locked-is-bad-fix.patch
arch-powerpc-platforms-pseries-eeh_eventc-slightly-fix-set_current_state-wart.patch
vsprintf-further-optimize-decimal-conversion-checkpatch-fixes.patch
kmod-avoid-deadlock-by-recursive-kmod-call.patch
syscalls-x86-add-__nr_kcmp-syscall-v8.patch
syscalls-x86-add-__nr_kcmp-syscall-v8-fix.patch
syscalls-x86-add-__nr_kcmp-syscall-v8-fix-2.patch
c-r-prctl-add-ability-to-get-clear_tid_address-fix.patch
notify_change-check-that-i_mutex-is-held.patch
journal_add_journal_head-debug.patch
mutex-subsystem-synchro-test-module-fix.patch
slab-leaks3-default-y.patch
put_bh-debug.patch

--
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux