lkml.org 
[lkml]   [2008]   [May]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Compile warning rtmutex code on 2.6.24.7-rt8 (CC:LKML added)
Hello Steven,

> Remy,
> Can you see if this helps,

Yes, this helps. Looks a little weird to add bitmasks to pointers, but
I understand why it has been done here.
BTW: I notice that you already has put it in -rt9.

And some other positive news: 2.6.24.7-rt9 compiles and boots
perfectly on ARM at91sam9261. (There are still a few other warnings,
but these are not RT related)

Now I understood your hint in some other mail, and I am going to take
a look at ftrace for ARM. Just for the fun of it...
I hope it is not too intrusive for these ARM cores (old implementation
was...), these Atmel cores are just not that fast as the common X86's.


Kind Regards,

Remy


2008/5/20 Steven Rostedt <rostedt@goodmis.org>:
>
>
> On Tue, 20 May 2008, Remy Bohmer wrote:
>
>> Hello Steven,
>>
>> Do you recognise these warnings? I do not know (yet) if these are ARM
>> specific...
>>
>> CC kernel/rtmutex.o
>> kernel/rtmutex.c: In function 'rt_write_fastlock':
>> kernel/rtmutex.c:1582: warning: initialization makes pointer from
>> integer without a cast
>> kernel/rtmutex.c: In function 'rt_write_fasttrylock':
>> kernel/rtmutex.c:1622: warning: initialization makes pointer from
>> integer without a cast
>>
>> If so, do you have a fix for it?
>
> Remy,
>
> Can you see if this helps,
>
> Signed-off-by: Steven Rostedt <srostedt@redhat.com>
>
> ---
> kernel/rtmutex.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> Index: linux-2.6.24.7-rt9/kernel/rtmutex.c
> ===================================================================
> --- linux-2.6.24.7-rt9.orig/kernel/rtmutex.c 2008-05-20 17:11:29.000000000 -0400
> +++ linux-2.6.24.7-rt9/kernel/rtmutex.c 2008-05-20 17:13:18.000000000 -0400
> @@ -1577,7 +1577,7 @@ rt_write_fastlock(struct rw_mutex *rwm,
> void fastcall (*slowfn)(struct rw_mutex *rwm, int mtx),
> int mtx)
> {
> - unsigned long val = (unsigned long)current | RT_RWLOCK_WRITER;
> + struct task_struct *val = (void *)((unsigned long)current | RT_RWLOCK_WRITER);
>
> if (likely(rt_rwlock_cmpxchg(rwm, NULL, val)))
> rt_mutex_deadlock_account_lock(&rwm->mutex, current);
> @@ -1617,7 +1617,7 @@ static inline int
> rt_write_fasttrylock(struct rw_mutex *rwm,
> int fastcall (*slowfn)(struct rw_mutex *rwm, int mtx), int mtx)
> {
> - unsigned long val = (unsigned long)current | RT_RWLOCK_WRITER;
> + struct task_struct *val = (void *)((unsigned long)current | RT_RWLOCK_WRITER);
>
> if (likely(rt_rwlock_cmpxchg(rwm, NULL, val))) {
> rt_mutex_deadlock_account_lock(&rwm->mutex, current);
> @@ -1902,7 +1902,7 @@ rt_write_fastunlock(struct rw_mutex *rwm
> int mtx),
> int mtx)
> {
> - unsigned long val = (unsigned long)current | RT_RWLOCK_WRITER;
> + struct task_struct *val = (void *)((unsigned long)current | RT_RWLOCK_WRITER);
>
> WARN_ON(rt_rwlock_owner(rwm) != current);
> if (likely(rt_rwlock_cmpxchg(rwm, (struct task_struct *)val, NULL)))
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>


\
 
 \ /
  Last update: 2008-05-21 20:39    [W:0.074 / U:0.104 seconds]
©2003-2011 Jasper Spaans