rtmutex.c (712cba5d87a6c0e980ee5fad45734e189c4d7151) rtmutex.c (194a6b5b9cb6b91a5f7d86984165a3bc55188599)
1/*
2 * RT-Mutexes: simple blocking mutual exclusion locks with PI support
3 *
4 * started by Ingo Molnar and Thomas Gleixner.
5 *
6 * Copyright (C) 2004-2006 Red Hat, Inc., Ingo Molnar <mingo@redhat.com>
7 * Copyright (C) 2005-2006 Timesys Corp., Thomas Gleixner <tglx@timesys.com>
8 * Copyright (C) 2005 Kihon Technologies Inc., Steven Rostedt

--- 1368 unchanged lines hidden (view full) ---

1377 return slowfn(lock);
1378}
1379
1380static inline void
1381rt_mutex_fastunlock(struct rt_mutex *lock,
1382 bool (*slowfn)(struct rt_mutex *lock,
1383 struct wake_q_head *wqh))
1384{
1/*
2 * RT-Mutexes: simple blocking mutual exclusion locks with PI support
3 *
4 * started by Ingo Molnar and Thomas Gleixner.
5 *
6 * Copyright (C) 2004-2006 Red Hat, Inc., Ingo Molnar <mingo@redhat.com>
7 * Copyright (C) 2005-2006 Timesys Corp., Thomas Gleixner <tglx@timesys.com>
8 * Copyright (C) 2005 Kihon Technologies Inc., Steven Rostedt

--- 1368 unchanged lines hidden (view full) ---

1377 return slowfn(lock);
1378}
1379
1380static inline void
1381rt_mutex_fastunlock(struct rt_mutex *lock,
1382 bool (*slowfn)(struct rt_mutex *lock,
1383 struct wake_q_head *wqh))
1384{
1385 WAKE_Q(wake_q);
1385 DEFINE_WAKE_Q(wake_q);
1386
1387 if (likely(rt_mutex_cmpxchg_release(lock, current, NULL))) {
1388 rt_mutex_deadlock_account_unlock(current);
1389
1390 } else {
1391 bool deboost = slowfn(lock, &wake_q);
1392
1393 wake_up_q(&wake_q);

--- 306 unchanged lines hidden ---
1386
1387 if (likely(rt_mutex_cmpxchg_release(lock, current, NULL))) {
1388 rt_mutex_deadlock_account_unlock(current);
1389
1390 } else {
1391 bool deboost = slowfn(lock, &wake_q);
1392
1393 wake_up_q(&wake_q);

--- 306 unchanged lines hidden ---