[PATCH 1/1] lockmeter: lockmeter-lockmeter-fix-for-generic_read_trylock.patch

From: Ray Bryant
Date: Thu Oct 07 2004 - 22:33:47 EST


Andrew,

The patch in the mm tree named: lockmeter-lockmeter-fix-for-generic_read_trylock.patch
is incorrect. It should be as shown be replaced by this patch. (generic_raw_read_trylock()
should be a copy of what is in kernel/spinlock.c and should not call _metered_read_lock()).

The incorrect patch breaks lockmeter on any platform that uses generic_raw_read_trylock().
(This is part of the problem with lockmeter for Altix.)

(Thanks to John Hawkes for finding this.)

From: Ray Bryant <raybry@xxxxxxx>

Update lockmeter.c with generic_raw_read_trylock fix.

Signed-off-by: Ray Bryant <raybry@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---

25-akpm/kernel/lockmeter.c | 12 ++++++++++++
1 files changed, 12 insertions(+)

diff -puN kernel/lockmeter.c~lockmeter-lockmeter-fix-for-generic_read_trylock kernel/lockmeter.c
--- 25/kernel/lockmeter.c~lockmeter-lockmeter-fix-for-generic_read_trylock 2004-09-16 21:32:25.175963856 -0700
+++ 25-akpm/kernel/lockmeter.c 2004-09-16 21:32:25.180963096 -0700
@@ -1213,6 +1213,18 @@ __read_lock_failed: \
* except for the fact tht calls to _raw_ routines are replaced by
* corresponding calls to the _metered_ routines
*/
+
+/*
+ * Generic declaration of the raw read_trylock() function,
+ * architectures are supposed to optimize this:
+ */
+int __lockfunc generic_raw_read_trylock(rwlock_t *lock)
+{
+ _raw_read_lock(lock);
+ return 1;
+}
+EXPORT_SYMBOL(generic_raw_read_trylock);
+
int __lockfunc _spin_trylock(spinlock_t *lock)
{
preempt_disable();
_

--
Best Regards,
Ray
-----------------------------------------------
Ray Bryant raybry@xxxxxxx
The box said: "Requires Windows 98 or better",
so I installed Linux.
-----------------------------------------------
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/