lkml.org 
[lkml]   [2004]   [Oct]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: [ANNOUNCE] Linux 2.6 Real Time Kernel
Date


Thanks for giving it a try!

The "bad: scheduling while atomic!" are indicative
of blocking on a mutex while holding a spinlock.

You can see the __p_mutex_down in the trace.

See the notes in the original announce
regarding the partitioning : work in progress.

I can't offer a fix for that now, but I will
post an updated mutex patch for the
EXPORT_SYMBOLS / module build issue.

Sven

> -----Original Message-----
> From: linux-kernel-owner@vger.kernel.org
> [mailto:linux-kernel-owner@vger.kernel.org]On Behalf Of Måns Rullgård
> Sent: Saturday, October 09, 2004 6:15 AM
> To: linux-kernel@vger.kernel.org
> Subject: Re: [ANNOUNCE] Linux 2.6 Real Time Kernel
>
>
>
> I got this thing to build by adding a few EXPORT_SYMBOL, patch below.
> Now it seems to be running quite well. I am, however, getting
> occasional "bad: scheduling while atomic!" messages, all alike:
>
> bad: scheduling while atomic!
> [<c02ef301>] schedule+0x4e5/0x4ea
> [<c0114cbe>] try_to_wake_up+0x99/0xa8
> [<c01332e2>] __p_mutex_down+0xfe/0x190
> [<c029e238>] alloc_skb+0x32/0xc3
> [<c01335e0>] kmutex_is_locked+0x1f/0x33
> [<c029fa63>] skb_queue_tail+0x1c/0x45
> [<c02eb43e>] unix_stream_sendmsg+0x22c/0x38c
> [<c029ab03>] sock_sendmsg+0xc9/0xe3
> [<c029f95a>] skb_dequeue+0x4a/0x5b
> [<c02eb9e6>] unix_stream_recvmsg+0x119/0x430
> [<c0137f06>] __alloc_pages+0x1cc/0x33f
> [<c01168ca>] autoremove_wake_function+0x0/0x43
> [<c029af4b>] sock_readv_writev+0x6e/0x97
> [<c029afec>] sock_writev+0x37/0x3e
> [<c029afb5>] sock_writev+0x0/0x3e
> [<c014ebb8>] do_readv_writev+0x1db/0x21f
> [<c01168ca>] autoremove_wake_function+0x0/0x43
> [<c014e5ca>] vfs_read+0xd0/0xf5
> [<c014ec94>] vfs_writev+0x49/0x52
> [<c014ed5a>] sys_writev+0x47/0x76
> [<c0103f09>] sysenter_past_esp+0x52/0x71
>
> USB, sound and wireless are all working nicely.
>
> Now the patch:
>
> --- kernel/kmutex.c~ 2004-10-09 12:51:37 +02:00
> +++ kernel/kmutex.c 2004-10-09 13:50:43 +02:00
> @@ -20,6 +20,7 @@
> #include <linux/config.h>
> #include <linux/kmutex.h>
> #include <linux/sched.h>
> +#include <linux/module.h>
>
> # if defined CONFIG_PMUTEX
> # include <linux/pmutex.h>
> @@ -40,11 +41,14 @@
> return p_mutex_trylock(&(lock->kmtx));
> }
>
> +EXPORT_SYMBOL(kmutex_trylock);
>
> inline int kmutex_is_locked(struct kmutex *lock)
> {
> return p_mutex_is_locked(&(lock->kmtx));
> }
> +
> +EXPORT_SYMBOL(kmutex_is_locked);
> # endif
>
>
> @@ -60,6 +64,7 @@
> #endif
> }
>
> +EXPORT_SYMBOL(kmutex_init);
>
> /*
> * print warning is case kmutex_lock is called while preempt count is
> @@ -88,6 +93,8 @@
> #endif
> }
>
> +EXPORT_SYMBOL(kmutex_lock);
> +
> void kmutex_unlock(struct kmutex *lock)
> {
> #if defined CONFIG_KMUTEX_DEBUG
> @@ -102,6 +109,7 @@
> #endif
> }
>
> +EXPORT_SYMBOL(kmutex_unlock);
>
> void kmutex_unlock_wait(struct kmutex * lock)
> {
> @@ -111,4 +119,4 @@
> }
> }
>
> -
> +EXPORT_SYMBOL(kmutex_unlock_wait);
>
>
> --
> Måns Rullgård
> mru@mru.ath.cx
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:06    [W:0.282 / U:0.064 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site