@@ -1700,6 +1700,22 @@ static void ww_test_fail_acquire(void)
17001700#endif
17011701}
17021702
1703+ #ifdef CONFIG_PREEMPT_RT
1704+ #define ww_mutex_base_lock (b ) rt_mutex_lock(b)
1705+ #define ww_mutex_base_trylock (b ) rt_mutex_trylock(b)
1706+ #define ww_mutex_base_lock_nest_lock (b , b2 ) rt_mutex_lock_nest_lock(b, b2)
1707+ #define ww_mutex_base_lock_interruptible (b ) rt_mutex_lock_interruptible(b)
1708+ #define ww_mutex_base_lock_killable (b ) rt_mutex_lock_killable(b)
1709+ #define ww_mutex_base_unlock (b ) rt_mutex_unlock(b)
1710+ #else
1711+ #define ww_mutex_base_lock (b ) mutex_lock(b)
1712+ #define ww_mutex_base_trylock (b ) mutex_trylock(b)
1713+ #define ww_mutex_base_lock_nest_lock (b , b2 ) mutex_lock_nest_lock(b, b2)
1714+ #define ww_mutex_base_lock_interruptible (b ) mutex_lock_interruptible(b)
1715+ #define ww_mutex_base_lock_killable (b ) mutex_lock_killable(b)
1716+ #define ww_mutex_base_unlock (b ) mutex_unlock(b)
1717+ #endif
1718+
17031719static void ww_test_normal (void )
17041720{
17051721 int ret ;
@@ -1714,50 +1730,50 @@ static void ww_test_normal(void)
17141730
17151731 /* mutex_lock (and indirectly, mutex_lock_nested) */
17161732 o .ctx = (void * )~0UL ;
1717- mutex_lock (& o .base );
1718- mutex_unlock (& o .base );
1733+ ww_mutex_base_lock (& o .base );
1734+ ww_mutex_base_unlock (& o .base );
17191735 WARN_ON (o .ctx != (void * )~0UL );
17201736
17211737 /* mutex_lock_interruptible (and *_nested) */
17221738 o .ctx = (void * )~0UL ;
1723- ret = mutex_lock_interruptible (& o .base );
1739+ ret = ww_mutex_base_lock_interruptible (& o .base );
17241740 if (!ret )
1725- mutex_unlock (& o .base );
1741+ ww_mutex_base_unlock (& o .base );
17261742 else
17271743 WARN_ON (1 );
17281744 WARN_ON (o .ctx != (void * )~0UL );
17291745
17301746 /* mutex_lock_killable (and *_nested) */
17311747 o .ctx = (void * )~0UL ;
1732- ret = mutex_lock_killable (& o .base );
1748+ ret = ww_mutex_base_lock_killable (& o .base );
17331749 if (!ret )
1734- mutex_unlock (& o .base );
1750+ ww_mutex_base_unlock (& o .base );
17351751 else
17361752 WARN_ON (1 );
17371753 WARN_ON (o .ctx != (void * )~0UL );
17381754
17391755 /* trylock, succeeding */
17401756 o .ctx = (void * )~0UL ;
1741- ret = mutex_trylock (& o .base );
1757+ ret = ww_mutex_base_trylock (& o .base );
17421758 WARN_ON (!ret );
17431759 if (ret )
1744- mutex_unlock (& o .base );
1760+ ww_mutex_base_unlock (& o .base );
17451761 else
17461762 WARN_ON (1 );
17471763 WARN_ON (o .ctx != (void * )~0UL );
17481764
17491765 /* trylock, failing */
17501766 o .ctx = (void * )~0UL ;
1751- mutex_lock (& o .base );
1752- ret = mutex_trylock (& o .base );
1767+ ww_mutex_base_lock (& o .base );
1768+ ret = ww_mutex_base_trylock (& o .base );
17531769 WARN_ON (ret );
1754- mutex_unlock (& o .base );
1770+ ww_mutex_base_unlock (& o .base );
17551771 WARN_ON (o .ctx != (void * )~0UL );
17561772
17571773 /* nest_lock */
17581774 o .ctx = (void * )~0UL ;
1759- mutex_lock_nest_lock (& o .base , & t );
1760- mutex_unlock (& o .base );
1775+ ww_mutex_base_lock_nest_lock (& o .base , & t );
1776+ ww_mutex_base_unlock (& o .base );
17611777 WARN_ON (o .ctx != (void * )~0UL );
17621778}
17631779
@@ -1770,7 +1786,7 @@ static void ww_test_two_contexts(void)
17701786static void ww_test_diff_class (void )
17711787{
17721788 WWAI (& t );
1773- #ifdef CONFIG_DEBUG_MUTEXES
1789+ #ifdef DEBUG_WW_MUTEXES
17741790 t .ww_class = NULL ;
17751791#endif
17761792 WWL (& o , & t );
@@ -1834,7 +1850,7 @@ static void ww_test_edeadlk_normal(void)
18341850{
18351851 int ret ;
18361852
1837- mutex_lock (& o2 .base );
1853+ ww_mutex_base_lock (& o2 .base );
18381854 o2 .ctx = & t2 ;
18391855 mutex_release (& o2 .base .dep_map , _THIS_IP_ );
18401856
@@ -1850,7 +1866,7 @@ static void ww_test_edeadlk_normal(void)
18501866
18511867 o2 .ctx = NULL ;
18521868 mutex_acquire (& o2 .base .dep_map , 0 , 1 , _THIS_IP_ );
1853- mutex_unlock (& o2 .base );
1869+ ww_mutex_base_unlock (& o2 .base );
18541870 WWU (& o );
18551871
18561872 WWL (& o2 , & t );
@@ -1860,7 +1876,7 @@ static void ww_test_edeadlk_normal_slow(void)
18601876{
18611877 int ret ;
18621878
1863- mutex_lock (& o2 .base );
1879+ ww_mutex_base_lock (& o2 .base );
18641880 mutex_release (& o2 .base .dep_map , _THIS_IP_ );
18651881 o2 .ctx = & t2 ;
18661882
@@ -1876,7 +1892,7 @@ static void ww_test_edeadlk_normal_slow(void)
18761892
18771893 o2 .ctx = NULL ;
18781894 mutex_acquire (& o2 .base .dep_map , 0 , 1 , _THIS_IP_ );
1879- mutex_unlock (& o2 .base );
1895+ ww_mutex_base_unlock (& o2 .base );
18801896 WWU (& o );
18811897
18821898 ww_mutex_lock_slow (& o2 , & t );
@@ -1886,7 +1902,7 @@ static void ww_test_edeadlk_no_unlock(void)
18861902{
18871903 int ret ;
18881904
1889- mutex_lock (& o2 .base );
1905+ ww_mutex_base_lock (& o2 .base );
18901906 o2 .ctx = & t2 ;
18911907 mutex_release (& o2 .base .dep_map , _THIS_IP_ );
18921908
@@ -1902,7 +1918,7 @@ static void ww_test_edeadlk_no_unlock(void)
19021918
19031919 o2 .ctx = NULL ;
19041920 mutex_acquire (& o2 .base .dep_map , 0 , 1 , _THIS_IP_ );
1905- mutex_unlock (& o2 .base );
1921+ ww_mutex_base_unlock (& o2 .base );
19061922
19071923 WWL (& o2 , & t );
19081924}
@@ -1911,7 +1927,7 @@ static void ww_test_edeadlk_no_unlock_slow(void)
19111927{
19121928 int ret ;
19131929
1914- mutex_lock (& o2 .base );
1930+ ww_mutex_base_lock (& o2 .base );
19151931 mutex_release (& o2 .base .dep_map , _THIS_IP_ );
19161932 o2 .ctx = & t2 ;
19171933
@@ -1927,7 +1943,7 @@ static void ww_test_edeadlk_no_unlock_slow(void)
19271943
19281944 o2 .ctx = NULL ;
19291945 mutex_acquire (& o2 .base .dep_map , 0 , 1 , _THIS_IP_ );
1930- mutex_unlock (& o2 .base );
1946+ ww_mutex_base_unlock (& o2 .base );
19311947
19321948 ww_mutex_lock_slow (& o2 , & t );
19331949}
@@ -1936,7 +1952,7 @@ static void ww_test_edeadlk_acquire_more(void)
19361952{
19371953 int ret ;
19381954
1939- mutex_lock (& o2 .base );
1955+ ww_mutex_base_lock (& o2 .base );
19401956 mutex_release (& o2 .base .dep_map , _THIS_IP_ );
19411957 o2 .ctx = & t2 ;
19421958
@@ -1957,7 +1973,7 @@ static void ww_test_edeadlk_acquire_more_slow(void)
19571973{
19581974 int ret ;
19591975
1960- mutex_lock (& o2 .base );
1976+ ww_mutex_base_lock (& o2 .base );
19611977 mutex_release (& o2 .base .dep_map , _THIS_IP_ );
19621978 o2 .ctx = & t2 ;
19631979
@@ -1978,11 +1994,11 @@ static void ww_test_edeadlk_acquire_more_edeadlk(void)
19781994{
19791995 int ret ;
19801996
1981- mutex_lock (& o2 .base );
1997+ ww_mutex_base_lock (& o2 .base );
19821998 mutex_release (& o2 .base .dep_map , _THIS_IP_ );
19831999 o2 .ctx = & t2 ;
19842000
1985- mutex_lock (& o3 .base );
2001+ ww_mutex_base_lock (& o3 .base );
19862002 mutex_release (& o3 .base .dep_map , _THIS_IP_ );
19872003 o3 .ctx = & t2 ;
19882004
@@ -2004,11 +2020,11 @@ static void ww_test_edeadlk_acquire_more_edeadlk_slow(void)
20042020{
20052021 int ret ;
20062022
2007- mutex_lock (& o2 .base );
2023+ ww_mutex_base_lock (& o2 .base );
20082024 mutex_release (& o2 .base .dep_map , _THIS_IP_ );
20092025 o2 .ctx = & t2 ;
20102026
2011- mutex_lock (& o3 .base );
2027+ ww_mutex_base_lock (& o3 .base );
20122028 mutex_release (& o3 .base .dep_map , _THIS_IP_ );
20132029 o3 .ctx = & t2 ;
20142030
@@ -2029,7 +2045,7 @@ static void ww_test_edeadlk_acquire_wrong(void)
20292045{
20302046 int ret ;
20312047
2032- mutex_lock (& o2 .base );
2048+ ww_mutex_base_lock (& o2 .base );
20332049 mutex_release (& o2 .base .dep_map , _THIS_IP_ );
20342050 o2 .ctx = & t2 ;
20352051
@@ -2054,7 +2070,7 @@ static void ww_test_edeadlk_acquire_wrong_slow(void)
20542070{
20552071 int ret ;
20562072
2057- mutex_lock (& o2 .base );
2073+ ww_mutex_base_lock (& o2 .base );
20582074 mutex_release (& o2 .base .dep_map , _THIS_IP_ );
20592075 o2 .ctx = & t2 ;
20602076
0 commit comments