2006-03-07 17:20:00

by Michal Piotrowski

[permalink] [raw]
Subject: 2.6.15-rt20 compilation errors

Hi,
I have noticed that -rt19 and -rt20 doesn't compile on my system.

Here is config http://www.stardust.webpages.pl/files/rt/2.6.15-rt20/rt-config
Here is build log
http://www.stardust.webpages.pl/files/rt/2.6.15-rt20/rt-buildlog

Regards,
Michal

--
Michal K. K. Piotrowski
LTG - Linux Testers Group
(http://www.stardust.webpages.pl/ltg/wiki/)


2006-03-08 08:18:42

by Jan Altenberg

[permalink] [raw]
Subject: Re: 2.6.15-rt20 compilation errors

Hi,

> I have noticed that -rt19 and -rt20 doesn't compile on my system.

I just had a quick glance at kernel/rt-debug.h
For example debug_rt_lockmode_spin_trylock is defined as followed:

# define debug_rt_lockmode_spin_trylock(_lock) \
_raw_spin_trylock((_lock)->debug_slock)

But _raw_spin_trylock expects a pointer to a raw_spinlock_t. So
shouldn't it be

# define debug_rt_lockmode_spin_trylock(_lock) \
_raw_spin_trylock(&(_lock)->debug_slock)

??

Same for debug_rt_lockmode_spin_unlock and debug_rt_lockmode_spin_trylock.


Regards
JAN

2006-03-08 09:10:50

by Jan Altenberg

[permalink] [raw]
Subject: [PATCH] 2.6.15-rt20 compilation errors

Hi Ingo,

could you have a look at this patch?
Maybe it helps...

Signed-off-by: Jan Altenberg <[email protected]>

---

diff -uprN -X linux-2.6.15-rt20/Documentation/dontdiff linux-2.6.15-rt20/kernel/rt.c linux-2.6.15-rt20-hacked/kernel/rt.c
--- linux-2.6.15-rt20/kernel/rt.c 2006-03-07 15:05:45.000000000 +0100
+++ linux-2.6.15-rt20-hacked/kernel/rt.c 2006-03-08 09:42:55.000000000 +0100
@@ -1507,7 +1507,7 @@ EXPORT_SYMBOL(_spin_lock_init);
int __lockfunc _read_trylock(rwlock_t *rwlock)
{
if(debug_rt_lockmode_nopreempt())
- return debug_rt_lockmode_read_trylock(&lock->lock.lock);
+ return debug_rt_lockmode_read_trylock(&rwlock->lock.lock);
else
return down_read_trylock_mutex(&rwlock->lock);
}
@@ -1516,7 +1516,7 @@ EXPORT_SYMBOL(_read_trylock);
int __lockfunc _write_trylock(rwlock_t *rwlock)
{
if(debug_rt_lockmode_nopreempt())
- return debug_rt_lockmode_write_trylock(&lock->lock.lock);
+ return debug_rt_lockmode_write_trylock(&rwlock->lock.lock);
else
return down_write_trylock_mutex(&rwlock->lock);
}
@@ -1525,7 +1525,7 @@ EXPORT_SYMBOL(_write_trylock);
inline void __lockfunc _write_lock(rwlock_t *rwlock)
{
if(debug_rt_lockmode_nopreempt())
- debug_rt_lockmode_write_lock(&lock->lock.lock);
+ debug_rt_lockmode_write_lock(&rwlock->lock.lock);
else
down_write_mutex(&rwlock->lock, current __CALLER0__);
}
@@ -1534,7 +1534,7 @@ EXPORT_SYMBOL(_write_lock);
inline void __lockfunc _read_lock(rwlock_t *rwlock)
{
if(debug_rt_lockmode_nopreempt())
- debug_rt_lockmode_read_lock(&lock->lock.lock);
+ debug_rt_lockmode_read_lock(&rwlock->lock.lock);
else
down_read_mutex(&rwlock->lock __CALLER0__);
}
@@ -1543,7 +1543,7 @@ EXPORT_SYMBOL(_read_lock);
inline void __lockfunc _write_unlock(rwlock_t *rwlock)
{
if(debug_rt_lockmode_nopreempt())
- debug_rt_lockmode_write_unlock(&lock->lock.lock);
+ debug_rt_lockmode_write_unlock(&rwlock->lock.lock);
else
up_write_mutex(&rwlock->lock __CALLER0__);
}
@@ -1552,7 +1552,7 @@ EXPORT_SYMBOL(_write_unlock);
static inline void __read_unlock(rwlock_t *rwlock)
{
if(debug_rt_lockmode_nopreempt())
- debug_rt_lockmode_read_unlock(&lock->lock.lock);
+ debug_rt_lockmode_read_unlock(&rwlock->lock.lock);
else
up_read_mutex(&rwlock->lock __CALLER0__);
}
diff -uprN -X linux-2.6.15-rt20/Documentation/dontdiff linux-2.6.15-rt20/kernel/rt-debug.h linux-2.6.15-rt20-hacked/kernel/rt-debug.h
--- linux-2.6.15-rt20/kernel/rt-debug.h 2006-03-07 15:05:45.000000000 +0100
+++ linux-2.6.15-rt20-hacked/kernel/rt-debug.h 2006-03-08 09:52:05.000000000 +0100
@@ -234,48 +234,48 @@ do { \
#ifdef CONFIG_DEBUG_RT_LOCKING_MODE

# define debug_rt_lockmode_init(_lock) \
- _raw_rwlock_init((_lock)->debug_slock)
+ _raw_spin_lock_init(&(_lock)->debug_slock)

# define debug_rt_lockmode_nopreempt() (!preempt_locks)

# define debug_rt_lockmode_spin_lock(_lock) \
- _raw_spin_lock((_lock)->debug_slock)
+ _raw_spin_lock(&(_lock)->debug_slock)

# define debug_rt_lockmode_spin_unlock(_lock) \
- _raw_spin_unlock((_lock)->debug_slock)
+ _raw_spin_unlock(&(_lock)->debug_slock)

# define debug_rt_lockmode_spin_is_locked(_lock) \
- _raw_spin_is_locked((_lock)->debug_slock)
+ _raw_spin_is_locked(&(_lock)->debug_slock)

# define debug_rt_lockmode_spin_trylock(_lock) \
- _raw_spin_trylock((_lock)->debug_slock)
+ _raw_spin_trylock(&(_lock)->debug_slock)

# define debug_rt_lockmode_initrw(_lock) \
- _raw_rwlock_init((_lock)->debug_rwlock)
+ _raw_rwlock_init(&(_lock)->debug_rwlock)

# define debug_rt_lockmode_read_can_lock(_lock) \
- _raw_read_can_lock((_lock)->debug_rwlock)
+ _raw_read_can_lock(&(_lock)->debug_rwlock)

# define debug_rt_lockmode_write_can_lock(_lock) \
- _raw_write_can_lock((_lock)->debug_rwlock)
+ _raw_write_can_lock(&(_lock)->debug_rwlock)

# define debug_rt_lockmode_read_trylock(_lock) \
- _raw_read_trylock((_lock)->debug_rwlock)
+ _raw_read_trylock(&(_lock)->debug_rwlock)

# define debug_rt_lockmode_write_trylock(_lock) \
- _raw_write_trylock((_lock)->debug_rwlock)
+ _raw_write_trylock(&(_lock)->debug_rwlock)

# define debug_rt_lockmode_read_lock(_lock) \
- _raw_read_lock((_lock)->debug_rwlock)
+ _raw_read_lock(&(_lock)->debug_rwlock)

# define debug_rt_lockmode_write_lock(_lock) \
- _raw_write_lock((_lock)->debug_rwlock)
+ _raw_write_lock(&(_lock)->debug_rwlock)

# define debug_rt_lockmode_read_unlock(_lock) \
- _raw_read_unlock((_lock)->debug_rwlock)
+ _raw_read_unlock(&(_lock)->debug_rwlock)

# define debug_rt_lockmode_write_unlock(_lock) \
- _raw_write_unlock((_lock)->debug_rwlock)
+ _raw_write_unlock(&(_lock)->debug_rwlock)

#else

2006-03-08 17:40:57

by Michal Piotrowski

[permalink] [raw]
Subject: Re: [PATCH] 2.6.15-rt20 compilation errors

Hi,

On 08/03/06, Jan Altenberg <[email protected]> wrote:
> Hi Ingo,
>
> could you have a look at this patch?
> Maybe it helps...
>

Thanks!

Regards,
Michal

--
Michal K. K. Piotrowski
LTG - Linux Testers Group
(http://www.stardust.webpages.pl/ltg/wiki/)