All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Charbonnel <thomas@undata.org>
To: Jaroslav Kysela <perex@suse.cz>,
	ALSA development <alsa-devel@alsa-project.org>
Subject: Re: Rawmidi and CONFIG_DEBUG_SPINLOCK_SLEEP
Date: Sun, 01 Feb 2004 12:18:37 +0100	[thread overview]
Message-ID: <401CE08D.5070903@undata.org> (raw)
In-Reply-To: <Pine.LNX.4.58.0401310942260.1876@pnote.perex-int.cz>

Jaroslav Kysela a écrit :
> On Thu, 29 Jan 2004, Thomas Charbonnel wrote:
> 
> 
>>Hi,
>>
>>I noticed this problem today using midi on my setup (alsa 1.0.1, kernel 
>>2.6.1 with CONFIG_DEBUG_SPINLOCK_SLEEP) :
>>
>>Debug: sleeping function called from invalid context at 
>>include/asm/uaccess.h:473
>>in_atomic():1, irqs_disabled():1
>>Call Trace:
>>  [<c012139c>] __might_sleep+0xac/0xe0
>>  [<c010b170>] handle_signal+0xd0/0x140
>>  [<c03955ef>] snd_rawmidi_kernel_read1+0x10f/0x170
>>  [<c03957e7>] snd_rawmidi_read+0x147/0x1b0
>>  [<c01131cf>] restore_i387_fxsave+0x8f/0xa0
>>  [<c015b2f3>] vfs_read+0xd3/0x140
>>  [<c015b59f>] sys_read+0x3f/0x60
>>  [<c010b4bb>] syscall_call+0x7/0xb
>>
>>I'm sorry I didn't check if this was fixed in 1.0.2, but though it was 
>>worth mentioning. This caused regular (~ 1/second) dropouts in pd while 
>>using midi.
> 
> 
> I'm not sure, but it looks like kernel problem. We don't call
> handle_signal() function from snd_rawmidi_kernel_read1() - you may check
> this function - scheduling is not involved. I wonder why this function is
> called from in the spinlock context.
> 
> Please, report this problem to LKML or try the latest 2.6 kernel.
> 
> 						Jaroslav
> 

Hi Jaroslav,

Doing some more tests I got also this message :

Debug: sleeping function called from invalid context at
include/asm/uaccess.h:498
in_atomic():1, irqs_disabled():1
Call Trace:
  [<c012139c>] __might_sleep+0xac/0xe0
  [<c0395c2d>] snd_rawmidi_kernel_write1+0x16d/0x200
  [<c0395ea4>] snd_rawmidi_write+0x1b4/0x300
  [<c010b2c1>] do_signal+0xe1/0xf0
  [<c01131cf>] restore_i387_fxsave+0x8f/0xa0
  [<c015b4f3>] vfs_write+0xd3/0x140
  [<c015b5ff>] sys_write+0x3f/0x60
  [<c010b4bb>] syscall_call+0x7/0xb

The kernel functions pointed to in include/asm/usaccess.h are
copy_to_user and copy_from_user. They are indeed called from a spinlock
context from both snd_rawmidi_kernel_write1 and
snd_rawmidi_kernel_read1, and are flagged might_sleep. The strange thing
is that they were already flagged might_sleep in 2.6.0, which I believe
I compiled with CONFIG_DEBUG_SPINLOCK_SLEEP also, and I can't remember
having the problem. On the other hand I only checked dmesg here because
I could hear audio dropouts. Maybe the might_sleep detection code has
been changed and is responsible for the dropouts ?

Thomas





-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn

  reply	other threads:[~2004-02-01 11:19 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-01-29 20:27 Rawmidi and CONFIG_DEBUG_SPINLOCK_SLEEP Thomas Charbonnel
2004-01-31  8:44 ` Jaroslav Kysela
2004-02-01 11:18   ` Thomas Charbonnel [this message]
2004-02-01 14:30     ` Thomas Charbonnel
2004-02-01 16:37       ` Jaroslav Kysela

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=401CE08D.5070903@undata.org \
    --to=thomas@undata.org \
    --cc=alsa-devel@alsa-project.org \
    --cc=perex@suse.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.