Re: [alsa-devel] [BUG] 3.10.[01] modprobe snd-... hangs

2013-07-17 Thread Takashi Iwai
At Wed, 17 Jul 2013 09:30:21 +0930,
Rusty Russell wrote:
> 
> Lucas De Marchi  writes:
> > On Tue, Jul 16, 2013 at 5:28 AM, Philipp Hahn  wrote:
> >> Hello,
> >>
> >> Am Dienstag 16 Juli 2013, 08:43:36 schrieb Takashi Iwai:
> >>> At Tue, 16 Jul 2013 15:11:51 +0930, Rusty Russell wrote:
> >>> > Philipp Matthias Hahn  writes:
> >>> > > My x86_64 systems has some trouble loading some ALSA snd-* modules 
> >>> > > since
> >>> > > the upgrade to 3.10.[01]: Several automatic modprobe calls hang, but
> >>> > > loading snd-intel-hda and snd-audio-usb by hand still works.
> >>> >
> >>> > Not a known problem to me, at least.  Perhaps it's a dep loop somehow.
> >>>
> >>> I remember that someone reported it being Debian specific snd-seq-oss
> >>> loading stuff.
> >>
> >> FYI: "oss-compat" is installed.
> >>
> >>> > > ...
> >>> > >  1071 ?S  0:00 sh -c /sbin/modprobe --ignore-install snd 
> >>> > > && { /sbin/modprobe --quiet snd
> >>> > >  1080 ?D  0:00  \_ /sbin/modprobe --quiet snd-seq
> >>> >
> >>> > This was first, and it's waiting.  Which means it must be doing
> >>> > something weird, because snd_seq_oss is loading now:
> >>> >
> >>> > > snd_seq_oss 33717 1 - Loading 0xa041b000
> >>> >
> >>> > Perhaps in the tangle of modprobe install commands somewhere this gets
> >>> > invoked?
> >>>
> >>> Likely, but I wonder what triggered a bug suddenly on 3.10.
> >>> There is absolutely no change in sound/core/seq/*, and through a quick
> >>> look, I couldn't find any suspicious change in kernel/module.c that
> >>> may lead to this problem between 3.9 and 3.10.
> >>>
> >>> Philipp, can you get a sysrq-T trace while the stall?
> >>
> >> I've finally been able to reducte the number of processes to get a full 
> >> trace; see attached file.
> >>
> >> Please note that in this case the proprietary "nvidia" module was loaded, 
> >> since I currently onyl have remove access to the machine.
> >> The original trace from yesterday happend without the nvidia module ever 
> >> being loaded.
> >>
> >> Am Dienstag 16 Juli 2013, 08:42:35 schrieb Lucas De Marchi:
> >>> On Tue, Jul 16, 2013 at 2:41 AM, Rusty Russell  
> >>> wrote:
> >>> First thing to check is the /etc/modprobe.d/*.conf file that contains
> >>> these install commands. Did they change besides the kernel upgrade?
> >>
> >> Not that I know of: Booting 3.9.9 works fine, 3.10.x shows the problem.
> >
> > Then one possible explanation is that in 3.9.9 you don't have some of
> > the modules causing this problem
> >
> >>
> >> ...
> >>> Philipp, which kernel are you upgrading from?
> >> I just upgraded from 3.9.9 to 3.10.0; also tried 3.10.1 which did not 
> >> improve the situation.
> >>
> >>> I don't see anything to
> >>> blame in the changes for the past releases. Any chance a bad entry in
> >>> your .conf was added too? You may want to paste the output of modprobe
> >>> -c, at least until "# End of configuration files. Dumping indexes
> >>> now:"
> >>
> >> blacklist snd_pcsp
> >> blacklist arkfb
> >> blacklist aty128fb
> >> blacklist atyfb
> >> blacklist radeonfb
> >> blacklist cirrusfb
> >> blacklist cyber2000fb
> >> blacklist gx1fb
> >> blacklist gxfb
> >> blacklist kyrofb
> >> blacklist matroxfb_base
> >> blacklist mb862xxfb
> >> blacklist neofb
> >> blacklist nvidiafb
> >> blacklist pm2fb
> >> blacklist pm3fb
> >> blacklist s3fb
> >> blacklist savagefb
> >> blacklist sisfb
> >> blacklist tdfxfb
> >> blacklist tridentfb
> >> blacklist viafb
> >> blacklist vt8623fb
> >> blacklist garmin_gps
> >> blacklist nouveau
> >> install binfmt_ /bin/true
> >> install sound_slot_0 /sbin/modprobe snd-card-0
> >> install sound_slot_1 /sbin/modprobe snd-card-1
> >> install sound_slot_2 /sbin/modprobe snd-card-2
> >> install sound_slot_3 /sbin/modprobe snd-card-3
> >> install sound_slot_4 /sbin/modprobe snd-card-4
> >> install sound_slot_5 /sbin/modprobe snd-card-5
> >> install sound_slot_6 /sbin/modprobe snd-card-6
> >> install sound_slot_7 /sbin/modprobe snd-card-7
> >> install snd /sbin/modprobe --ignore-install snd && { /sbin/modprobe 
> >> --quiet snd-ioctl32 ; /sbin/modprobe --quiet snd-seq ; : ; }
> >> install snd_rawmidi /sbin/modprobe --ignore-install snd-rawmidi && { 
> >> /sbin/modprobe --quiet snd-seq-midi ; : ; }
> >> install snd_emu10k1 /sbin/modprobe --ignore-install snd-emu10k1 && { 
> >> /sbin/modprobe --quiet snd-emu10k1-synth ; : ; }
> >> alias net_pf_16_proto_1 wire
> >> alias net_pf_16_proto_3 ip_queue
> >> alias net_pf_16_proto_8 scsi_transport_iscsi
> >> alias net_pf_16_proto_9 audit
> >> alias net_pf_16_proto_11 cn
> >> alias net_pf_16_proto_13 ip6_queue
> >> alias binfmt_204 binfmt_aout
> >> alias binfmt_263 binfmt_aout
> >> alias binfmt_264 binfmt_aout
> >> alias binfmt_267 binfmt_aout
> >> alias binfmt_387 binfmt_aout
> >> alias block_major_3_* ide_generic
> >> alias block_major_22_* ide_generic
> >> alias block_major_33_* ide_generic
> >> alias block_major_34_* ide_generic
> >> alias block_major_37_* ide_tape
> >> alias 

Re: [alsa-devel] [BUG] 3.10.[01] modprobe snd-... hangs

2013-07-17 Thread Takashi Iwai
At Wed, 17 Jul 2013 09:30:21 +0930,
Rusty Russell wrote:
 
 Lucas De Marchi lucas.de.mar...@gmail.com writes:
  On Tue, Jul 16, 2013 at 5:28 AM, Philipp Hahn pmh...@pmhahn.de wrote:
  Hello,
 
  Am Dienstag 16 Juli 2013, 08:43:36 schrieb Takashi Iwai:
  At Tue, 16 Jul 2013 15:11:51 +0930, Rusty Russell wrote:
   Philipp Matthias Hahn pmh...@pmhahn.de writes:
My x86_64 systems has some trouble loading some ALSA snd-* modules 
since
the upgrade to 3.10.[01]: Several automatic modprobe calls hang, but
loading snd-intel-hda and snd-audio-usb by hand still works.
  
   Not a known problem to me, at least.  Perhaps it's a dep loop somehow.
 
  I remember that someone reported it being Debian specific snd-seq-oss
  loading stuff.
 
  FYI: oss-compat is installed.
 
...
 1071 ?S  0:00 sh -c /sbin/modprobe --ignore-install snd 
 { /sbin/modprobe --quiet snd
 1080 ?D  0:00  \_ /sbin/modprobe --quiet snd-seq
  
   This was first, and it's waiting.  Which means it must be doing
   something weird, because snd_seq_oss is loading now:
  
snd_seq_oss 33717 1 - Loading 0xa041b000
  
   Perhaps in the tangle of modprobe install commands somewhere this gets
   invoked?
 
  Likely, but I wonder what triggered a bug suddenly on 3.10.
  There is absolutely no change in sound/core/seq/*, and through a quick
  look, I couldn't find any suspicious change in kernel/module.c that
  may lead to this problem between 3.9 and 3.10.
 
  Philipp, can you get a sysrq-T trace while the stall?
 
  I've finally been able to reducte the number of processes to get a full 
  trace; see attached file.
 
  Please note that in this case the proprietary nvidia module was loaded, 
  since I currently onyl have remove access to the machine.
  The original trace from yesterday happend without the nvidia module ever 
  being loaded.
 
  Am Dienstag 16 Juli 2013, 08:42:35 schrieb Lucas De Marchi:
  On Tue, Jul 16, 2013 at 2:41 AM, Rusty Russell ru...@rustcorp.com.au 
  wrote:
  First thing to check is the /etc/modprobe.d/*.conf file that contains
  these install commands. Did they change besides the kernel upgrade?
 
  Not that I know of: Booting 3.9.9 works fine, 3.10.x shows the problem.
 
  Then one possible explanation is that in 3.9.9 you don't have some of
  the modules causing this problem
 
 
  ...
  Philipp, which kernel are you upgrading from?
  I just upgraded from 3.9.9 to 3.10.0; also tried 3.10.1 which did not 
  improve the situation.
 
  I don't see anything to
  blame in the changes for the past releases. Any chance a bad entry in
  your .conf was added too? You may want to paste the output of modprobe
  -c, at least until # End of configuration files. Dumping indexes
  now:
 
  blacklist snd_pcsp
  blacklist arkfb
  blacklist aty128fb
  blacklist atyfb
  blacklist radeonfb
  blacklist cirrusfb
  blacklist cyber2000fb
  blacklist gx1fb
  blacklist gxfb
  blacklist kyrofb
  blacklist matroxfb_base
  blacklist mb862xxfb
  blacklist neofb
  blacklist nvidiafb
  blacklist pm2fb
  blacklist pm3fb
  blacklist s3fb
  blacklist savagefb
  blacklist sisfb
  blacklist tdfxfb
  blacklist tridentfb
  blacklist viafb
  blacklist vt8623fb
  blacklist garmin_gps
  blacklist nouveau
  install binfmt_ /bin/true
  install sound_slot_0 /sbin/modprobe snd-card-0
  install sound_slot_1 /sbin/modprobe snd-card-1
  install sound_slot_2 /sbin/modprobe snd-card-2
  install sound_slot_3 /sbin/modprobe snd-card-3
  install sound_slot_4 /sbin/modprobe snd-card-4
  install sound_slot_5 /sbin/modprobe snd-card-5
  install sound_slot_6 /sbin/modprobe snd-card-6
  install sound_slot_7 /sbin/modprobe snd-card-7
  install snd /sbin/modprobe --ignore-install snd  { /sbin/modprobe 
  --quiet snd-ioctl32 ; /sbin/modprobe --quiet snd-seq ; : ; }
  install snd_rawmidi /sbin/modprobe --ignore-install snd-rawmidi  { 
  /sbin/modprobe --quiet snd-seq-midi ; : ; }
  install snd_emu10k1 /sbin/modprobe --ignore-install snd-emu10k1  { 
  /sbin/modprobe --quiet snd-emu10k1-synth ; : ; }
  alias net_pf_16_proto_1 wire
  alias net_pf_16_proto_3 ip_queue
  alias net_pf_16_proto_8 scsi_transport_iscsi
  alias net_pf_16_proto_9 audit
  alias net_pf_16_proto_11 cn
  alias net_pf_16_proto_13 ip6_queue
  alias binfmt_204 binfmt_aout
  alias binfmt_263 binfmt_aout
  alias binfmt_264 binfmt_aout
  alias binfmt_267 binfmt_aout
  alias binfmt_387 binfmt_aout
  alias block_major_3_* ide_generic
  alias block_major_22_* ide_generic
  alias block_major_33_* ide_generic
  alias block_major_34_* ide_generic
  alias block_major_37_* ide_tape
  alias block_major_44_* ftl
  alias block_major_46_* pcd
  alias block_major_47_* pf
  alias block_major_56_* ide_generic
  alias block_major_57_* ide_generic
  alias block_major_58_* lvm_mod
  alias block_major_88_* ide_generic
  alias block_major_89_* ide_generic
  alias block_major_90_* ide_generic
  alias block_major_91_* ide_generic
  alias block_major_93_* nftl
  alias 

Re: [alsa-devel] [BUG] 3.10.[01] modprobe snd-... hangs

2013-07-16 Thread Rusty Russell
Lucas De Marchi  writes:
> On Tue, Jul 16, 2013 at 5:28 AM, Philipp Hahn  wrote:
>> Hello,
>>
>> Am Dienstag 16 Juli 2013, 08:43:36 schrieb Takashi Iwai:
>>> At Tue, 16 Jul 2013 15:11:51 +0930, Rusty Russell wrote:
>>> > Philipp Matthias Hahn  writes:
>>> > > My x86_64 systems has some trouble loading some ALSA snd-* modules since
>>> > > the upgrade to 3.10.[01]: Several automatic modprobe calls hang, but
>>> > > loading snd-intel-hda and snd-audio-usb by hand still works.
>>> >
>>> > Not a known problem to me, at least.  Perhaps it's a dep loop somehow.
>>>
>>> I remember that someone reported it being Debian specific snd-seq-oss
>>> loading stuff.
>>
>> FYI: "oss-compat" is installed.
>>
>>> > > ...
>>> > >  1071 ?S  0:00 sh -c /sbin/modprobe --ignore-install snd && 
>>> > > { /sbin/modprobe --quiet snd
>>> > >  1080 ?D  0:00  \_ /sbin/modprobe --quiet snd-seq
>>> >
>>> > This was first, and it's waiting.  Which means it must be doing
>>> > something weird, because snd_seq_oss is loading now:
>>> >
>>> > > snd_seq_oss 33717 1 - Loading 0xa041b000
>>> >
>>> > Perhaps in the tangle of modprobe install commands somewhere this gets
>>> > invoked?
>>>
>>> Likely, but I wonder what triggered a bug suddenly on 3.10.
>>> There is absolutely no change in sound/core/seq/*, and through a quick
>>> look, I couldn't find any suspicious change in kernel/module.c that
>>> may lead to this problem between 3.9 and 3.10.
>>>
>>> Philipp, can you get a sysrq-T trace while the stall?
>>
>> I've finally been able to reducte the number of processes to get a full 
>> trace; see attached file.
>>
>> Please note that in this case the proprietary "nvidia" module was loaded, 
>> since I currently onyl have remove access to the machine.
>> The original trace from yesterday happend without the nvidia module ever 
>> being loaded.
>>
>> Am Dienstag 16 Juli 2013, 08:42:35 schrieb Lucas De Marchi:
>>> On Tue, Jul 16, 2013 at 2:41 AM, Rusty Russell  
>>> wrote:
>>> First thing to check is the /etc/modprobe.d/*.conf file that contains
>>> these install commands. Did they change besides the kernel upgrade?
>>
>> Not that I know of: Booting 3.9.9 works fine, 3.10.x shows the problem.
>
> Then one possible explanation is that in 3.9.9 you don't have some of
> the modules causing this problem
>
>>
>> ...
>>> Philipp, which kernel are you upgrading from?
>> I just upgraded from 3.9.9 to 3.10.0; also tried 3.10.1 which did not 
>> improve the situation.
>>
>>> I don't see anything to
>>> blame in the changes for the past releases. Any chance a bad entry in
>>> your .conf was added too? You may want to paste the output of modprobe
>>> -c, at least until "# End of configuration files. Dumping indexes
>>> now:"
>>
>> blacklist snd_pcsp
>> blacklist arkfb
>> blacklist aty128fb
>> blacklist atyfb
>> blacklist radeonfb
>> blacklist cirrusfb
>> blacklist cyber2000fb
>> blacklist gx1fb
>> blacklist gxfb
>> blacklist kyrofb
>> blacklist matroxfb_base
>> blacklist mb862xxfb
>> blacklist neofb
>> blacklist nvidiafb
>> blacklist pm2fb
>> blacklist pm3fb
>> blacklist s3fb
>> blacklist savagefb
>> blacklist sisfb
>> blacklist tdfxfb
>> blacklist tridentfb
>> blacklist viafb
>> blacklist vt8623fb
>> blacklist garmin_gps
>> blacklist nouveau
>> install binfmt_ /bin/true
>> install sound_slot_0 /sbin/modprobe snd-card-0
>> install sound_slot_1 /sbin/modprobe snd-card-1
>> install sound_slot_2 /sbin/modprobe snd-card-2
>> install sound_slot_3 /sbin/modprobe snd-card-3
>> install sound_slot_4 /sbin/modprobe snd-card-4
>> install sound_slot_5 /sbin/modprobe snd-card-5
>> install sound_slot_6 /sbin/modprobe snd-card-6
>> install sound_slot_7 /sbin/modprobe snd-card-7
>> install snd /sbin/modprobe --ignore-install snd && { /sbin/modprobe --quiet 
>> snd-ioctl32 ; /sbin/modprobe --quiet snd-seq ; : ; }
>> install snd_rawmidi /sbin/modprobe --ignore-install snd-rawmidi && { 
>> /sbin/modprobe --quiet snd-seq-midi ; : ; }
>> install snd_emu10k1 /sbin/modprobe --ignore-install snd-emu10k1 && { 
>> /sbin/modprobe --quiet snd-emu10k1-synth ; : ; }
>> alias net_pf_16_proto_1 wire
>> alias net_pf_16_proto_3 ip_queue
>> alias net_pf_16_proto_8 scsi_transport_iscsi
>> alias net_pf_16_proto_9 audit
>> alias net_pf_16_proto_11 cn
>> alias net_pf_16_proto_13 ip6_queue
>> alias binfmt_204 binfmt_aout
>> alias binfmt_263 binfmt_aout
>> alias binfmt_264 binfmt_aout
>> alias binfmt_267 binfmt_aout
>> alias binfmt_387 binfmt_aout
>> alias block_major_3_* ide_generic
>> alias block_major_22_* ide_generic
>> alias block_major_33_* ide_generic
>> alias block_major_34_* ide_generic
>> alias block_major_37_* ide_tape
>> alias block_major_44_* ftl
>> alias block_major_46_* pcd
>> alias block_major_47_* pf
>> alias block_major_56_* ide_generic
>> alias block_major_57_* ide_generic
>> alias block_major_58_* lvm_mod
>> alias block_major_88_* ide_generic
>> alias block_major_89_* ide_generic
>> alias block_major_90_* ide_generic
>> alias block_major_91_* 

Re: [alsa-devel] [BUG] 3.10.[01] modprobe snd-... hangs

2013-07-16 Thread Philipp Matthias Hahn
Hello,

On Tue, Jul 16, 2013 at 12:29:38PM +0200, Takashi Iwai wrote:
> Could you check the patch below?  It makes the code path involving
> with request_module asynchronous.

With the patch applied all modules were loaded successfully: no hanging
modprobe processes anymore.

Thank you for your support.

...
> From: Takashi Iwai 
> Subject: [PATCH] ALSA: seq-oss: Initialize MIDI clients asynchronously
> 
> The recent report showed that the initial registration of OSS
> sequencer clients stuck at loading the sound modules, which involves
> with request_module() at the init phase.  As a workaround, call the
> registration part asynchronously.  (And, this is a better approache
> irrespective of the hang fix.)
> 
> Reported-by: Philipp Matthias Hahn 
> Cc: 
> Signed-off-by: Takashi Iwai 
> ---
>  sound/core/seq/oss/seq_oss_init.c | 16 +---
>  sound/core/seq/oss/seq_oss_midi.c |  2 +-
>  2 files changed, 14 insertions(+), 4 deletions(-)
> 
> diff --git a/sound/core/seq/oss/seq_oss_init.c 
> b/sound/core/seq/oss/seq_oss_init.c
> index e3cb46f..b3f39b5 100644

BYtE
Philipp
-- 
  / /  (_)__  __   __ Philipp Hahn
 / /__/ / _ \/ // /\ \/ /
//_/_//_/\_,_/ /_/\_\ pmh...@pmhahn.de
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [alsa-devel] [BUG] 3.10.[01] modprobe snd-... hangs

2013-07-16 Thread Lucas De Marchi
On Tue, Jul 16, 2013 at 5:28 AM, Philipp Hahn  wrote:
> Hello,
>
> Am Dienstag 16 Juli 2013, 08:43:36 schrieb Takashi Iwai:
>> At Tue, 16 Jul 2013 15:11:51 +0930, Rusty Russell wrote:
>> > Philipp Matthias Hahn  writes:
>> > > My x86_64 systems has some trouble loading some ALSA snd-* modules since
>> > > the upgrade to 3.10.[01]: Several automatic modprobe calls hang, but
>> > > loading snd-intel-hda and snd-audio-usb by hand still works.
>> >
>> > Not a known problem to me, at least.  Perhaps it's a dep loop somehow.
>>
>> I remember that someone reported it being Debian specific snd-seq-oss
>> loading stuff.
>
> FYI: "oss-compat" is installed.
>
>> > > ...
>> > >  1071 ?S  0:00 sh -c /sbin/modprobe --ignore-install snd && 
>> > > { /sbin/modprobe --quiet snd
>> > >  1080 ?D  0:00  \_ /sbin/modprobe --quiet snd-seq
>> >
>> > This was first, and it's waiting.  Which means it must be doing
>> > something weird, because snd_seq_oss is loading now:
>> >
>> > > snd_seq_oss 33717 1 - Loading 0xa041b000
>> >
>> > Perhaps in the tangle of modprobe install commands somewhere this gets
>> > invoked?
>>
>> Likely, but I wonder what triggered a bug suddenly on 3.10.
>> There is absolutely no change in sound/core/seq/*, and through a quick
>> look, I couldn't find any suspicious change in kernel/module.c that
>> may lead to this problem between 3.9 and 3.10.
>>
>> Philipp, can you get a sysrq-T trace while the stall?
>
> I've finally been able to reducte the number of processes to get a full 
> trace; see attached file.
>
> Please note that in this case the proprietary "nvidia" module was loaded, 
> since I currently onyl have remove access to the machine.
> The original trace from yesterday happend without the nvidia module ever 
> being loaded.
>
> Am Dienstag 16 Juli 2013, 08:42:35 schrieb Lucas De Marchi:
>> On Tue, Jul 16, 2013 at 2:41 AM, Rusty Russell  wrote:
>> First thing to check is the /etc/modprobe.d/*.conf file that contains
>> these install commands. Did they change besides the kernel upgrade?
>
> Not that I know of: Booting 3.9.9 works fine, 3.10.x shows the problem.

Then one possible explanation is that in 3.9.9 you don't have some of
the modules causing this problem

>
> ...
>> Philipp, which kernel are you upgrading from?
> I just upgraded from 3.9.9 to 3.10.0; also tried 3.10.1 which did not improve 
> the situation.
>
>> I don't see anything to
>> blame in the changes for the past releases. Any chance a bad entry in
>> your .conf was added too? You may want to paste the output of modprobe
>> -c, at least until "# End of configuration files. Dumping indexes
>> now:"
>
> blacklist snd_pcsp
> blacklist arkfb
> blacklist aty128fb
> blacklist atyfb
> blacklist radeonfb
> blacklist cirrusfb
> blacklist cyber2000fb
> blacklist gx1fb
> blacklist gxfb
> blacklist kyrofb
> blacklist matroxfb_base
> blacklist mb862xxfb
> blacklist neofb
> blacklist nvidiafb
> blacklist pm2fb
> blacklist pm3fb
> blacklist s3fb
> blacklist savagefb
> blacklist sisfb
> blacklist tdfxfb
> blacklist tridentfb
> blacklist viafb
> blacklist vt8623fb
> blacklist garmin_gps
> blacklist nouveau
> install binfmt_ /bin/true
> install sound_slot_0 /sbin/modprobe snd-card-0
> install sound_slot_1 /sbin/modprobe snd-card-1
> install sound_slot_2 /sbin/modprobe snd-card-2
> install sound_slot_3 /sbin/modprobe snd-card-3
> install sound_slot_4 /sbin/modprobe snd-card-4
> install sound_slot_5 /sbin/modprobe snd-card-5
> install sound_slot_6 /sbin/modprobe snd-card-6
> install sound_slot_7 /sbin/modprobe snd-card-7
> install snd /sbin/modprobe --ignore-install snd && { /sbin/modprobe --quiet 
> snd-ioctl32 ; /sbin/modprobe --quiet snd-seq ; : ; }
> install snd_rawmidi /sbin/modprobe --ignore-install snd-rawmidi && { 
> /sbin/modprobe --quiet snd-seq-midi ; : ; }
> install snd_emu10k1 /sbin/modprobe --ignore-install snd-emu10k1 && { 
> /sbin/modprobe --quiet snd-emu10k1-synth ; : ; }
> alias net_pf_16_proto_1 wire
> alias net_pf_16_proto_3 ip_queue
> alias net_pf_16_proto_8 scsi_transport_iscsi
> alias net_pf_16_proto_9 audit
> alias net_pf_16_proto_11 cn
> alias net_pf_16_proto_13 ip6_queue
> alias binfmt_204 binfmt_aout
> alias binfmt_263 binfmt_aout
> alias binfmt_264 binfmt_aout
> alias binfmt_267 binfmt_aout
> alias binfmt_387 binfmt_aout
> alias block_major_3_* ide_generic
> alias block_major_22_* ide_generic
> alias block_major_33_* ide_generic
> alias block_major_34_* ide_generic
> alias block_major_37_* ide_tape
> alias block_major_44_* ftl
> alias block_major_46_* pcd
> alias block_major_47_* pf
> alias block_major_56_* ide_generic
> alias block_major_57_* ide_generic
> alias block_major_58_* lvm_mod
> alias block_major_88_* ide_generic
> alias block_major_89_* ide_generic
> alias block_major_90_* ide_generic
> alias block_major_91_* ide_generic
> alias block_major_93_* nftl
> alias block_major_97_* pg
> alias char_major_10_1 psmouse
> alias char_major_10_139 openprom
> alias char_major_10_157 

Re: [alsa-devel] [BUG] 3.10.[01] modprobe snd-... hangs

2013-07-16 Thread Takashi Iwai
At Tue, 16 Jul 2013 10:28:02 +0200,
Philipp Hahn wrote:
> 
> Hello,
> 
> Am Dienstag 16 Juli 2013, 08:43:36 schrieb Takashi Iwai:
> > At Tue, 16 Jul 2013 15:11:51 +0930, Rusty Russell wrote:
> > > Philipp Matthias Hahn  writes:
> > > > My x86_64 systems has some trouble loading some ALSA snd-* modules since
> > > > the upgrade to 3.10.[01]: Several automatic modprobe calls hang, but
> > > > loading snd-intel-hda and snd-audio-usb by hand still works.
> > > 
> > > Not a known problem to me, at least.  Perhaps it's a dep loop somehow.
> > 
> > I remember that someone reported it being Debian specific snd-seq-oss
> > loading stuff.
> 
> FYI: "oss-compat" is installed.
> 
> > > > ...
> > > >  1071 ?S  0:00 sh -c /sbin/modprobe --ignore-install snd && 
> > > > { /sbin/modprobe --quiet snd
> > > >  1080 ?D  0:00  \_ /sbin/modprobe --quiet snd-seq
> > > 
> > > This was first, and it's waiting.  Which means it must be doing
> > > something weird, because snd_seq_oss is loading now:
> > > 
> > > > snd_seq_oss 33717 1 - Loading 0xa041b000
> > > 
> > > Perhaps in the tangle of modprobe install commands somewhere this gets
> > > invoked?
> > 
> > Likely, but I wonder what triggered a bug suddenly on 3.10.
> > There is absolutely no change in sound/core/seq/*, and through a quick
> > look, I couldn't find any suspicious change in kernel/module.c that
> > may lead to this problem between 3.9 and 3.10.
> > 
> > Philipp, can you get a sysrq-T trace while the stall?
> 
> I've finally been able to reducte the number of processes to get a full 
> trace; see attached file.
> 
> Please note that in this case the proprietary "nvidia" module was loaded, 
> since I currently onyl have remove access to the machine.
> The original trace from yesterday happend without the nvidia module ever 
> being loaded.
> 
> Am Dienstag 16 Juli 2013, 08:42:35 schrieb Lucas De Marchi:
> > On Tue, Jul 16, 2013 at 2:41 AM, Rusty Russell  
> > wrote:
> > First thing to check is the /etc/modprobe.d/*.conf file that contains
> > these install commands. Did they change besides the kernel upgrade?
> 
> Not that I know of: Booting 3.9.9 works fine, 3.10.x shows the problem.
> 
> ...
> > Philipp, which kernel are you upgrading from?
> I just upgraded from 3.9.9 to 3.10.0; also tried 3.10.1 which did not improve 
> the situation.

Could you check the patch below?  It makes the code path involving
with request_module asynchronous.


thanks,

Takashi

---
From: Takashi Iwai 
Subject: [PATCH] ALSA: seq-oss: Initialize MIDI clients asynchronously

The recent report showed that the initial registration of OSS
sequencer clients stuck at loading the sound modules, which involves
with request_module() at the init phase.  As a workaround, call the
registration part asynchronously.  (And, this is a better approache
irrespective of the hang fix.)

Reported-by: Philipp Matthias Hahn 
Cc: 
Signed-off-by: Takashi Iwai 
---
 sound/core/seq/oss/seq_oss_init.c | 16 +---
 sound/core/seq/oss/seq_oss_midi.c |  2 +-
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/sound/core/seq/oss/seq_oss_init.c 
b/sound/core/seq/oss/seq_oss_init.c
index e3cb46f..b3f39b5 100644
--- a/sound/core/seq/oss/seq_oss_init.c
+++ b/sound/core/seq/oss/seq_oss_init.c
@@ -31,6 +31,7 @@
 #include 
 #include 
 #include 
+#include 
 
 /*
  * common variables
@@ -60,6 +61,14 @@ static void free_devinfo(void *private);
 #define call_ctl(type,rec) snd_seq_kernel_client_ctl(system_client, type, rec)
 
 
+/* call snd_seq_oss_midi_lookup_ports() asynchronously */
+static void async_call_lookup_ports(struct work_struct *work)
+{
+   snd_seq_oss_midi_lookup_ports(system_client);
+}
+
+static DECLARE_WORK(async_lookup_work, async_call_lookup_ports);
+
 /*
  * create sequencer client for OSS sequencer
  */
@@ -85,9 +94,6 @@ snd_seq_oss_create_client(void)
system_client = rc;
debug_printk(("new client = %d\n", rc));
 
-   /* look up midi devices */
-   snd_seq_oss_midi_lookup_ports(system_client);
-
/* create annoucement receiver port */
memset(port, 0, sizeof(*port));
strcpy(port->name, "Receiver");
@@ -115,6 +121,9 @@ snd_seq_oss_create_client(void)
}
rc = 0;
 
+   /* look up midi devices */
+   schedule_work(_lookup_work);
+
  __error:
kfree(port);
return rc;
@@ -160,6 +169,7 @@ receive_announce(struct snd_seq_event *ev, int direct, void 
*private, int atomic
 int
 snd_seq_oss_delete_client(void)
 {
+   cancel_work_sync(_lookup_work);
if (system_client >= 0)
snd_seq_delete_kernel_client(system_client);
 
diff --git a/sound/core/seq/oss/seq_oss_midi.c 
b/sound/core/seq/oss/seq_oss_midi.c
index 677dc84..862d8489 100644
--- a/sound/core/seq/oss/seq_oss_midi.c
+++ b/sound/core/seq/oss/seq_oss_midi.c
@@ -72,7 +72,7 @@ static int send_midi_event(struct seq_oss_devinfo *dp, struct 
snd_seq_event *ev,
  * look up the existing ports
  * this 

Re: [alsa-devel] [BUG] 3.10.[01] modprobe snd-... hangs

2013-07-16 Thread Damien Wyart
* Takashi Iwai  [2013-07-16 08:43]:
> At Tue, 16 Jul 2013 15:11:51 +0930,
> Rusty Russell wrote:

> > Philipp Matthias Hahn  writes:
> > > Hello,

> > > My x86_64 systems has some trouble loading some ALSA snd-* modules since
> > > the upgrade to 3.10.[01]: Several automatic modprobe calls hang, but
> > > loading snd-intel-hda and snd-audio-usb by hand still works.

> > Not a known problem to me, at least.  Perhaps it's a dep loop somehow.

> I remember that someone reported it being Debian specific snd-seq-oss
> loading stuff.

There is also additional information here:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=660803

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


Re: [alsa-devel] [BUG] 3.10.[01] modprobe snd-... hangs

2013-07-16 Thread Takashi Iwai
At Tue, 16 Jul 2013 15:11:51 +0930,
Rusty Russell wrote:
> 
> Philipp Matthias Hahn  writes:
> > Hello,
> >
> > My x86_64 systems has some trouble loading some ALSA snd-* modules since
> > the upgrade to 3.10.[01]: Several automatic modprobe calls hang, but
> > loading snd-intel-hda and snd-audio-usb by hand still works.
> 
> Not a known problem to me, at least.  Perhaps it's a dep loop somehow.

I remember that someone reported it being Debian specific snd-seq-oss
loading stuff.

> > ...
> >  1071 ?S  0:00 sh -c /sbin/modprobe --ignore-install snd && { 
> > /sbin/modprobe --quiet snd
> >  1080 ?D  0:00  \_ /sbin/modprobe --quiet snd-seq
> 
> This was first, and it's waiting.  Which means it must be doing
> something weird, because snd_seq_oss is loading now:
> 
> > snd_seq_oss 33717 1 - Loading 0xa041b000
> 
> Perhaps in the tangle of modprobe install commands somewhere this gets
> invoked?

Likely, but I wonder what triggered a bug suddenly on 3.10.
There is absolutely no change in sound/core/seq/*, and through a quick
look, I couldn't find any suspicious change in kernel/module.c that
may lead to this problem between 3.9 and 3.10.

Philipp, can you get a sysrq-T trace while the stall?


thanks,

Takashi

> > # ps axf
> >   460 ?S  0:00  \_ [kworker/u8:3]
> >  1087 ?S  0:00  |   \_ [kworker/u8:3]
> >  1092 ?S  0:00  |   \_ /sbin/modprobe -q -- 
> > snd-seq-client-14
> 
> On my systems, that's snd-seq-dummy, which depends on snd_seq.  Which,
> in fact, is already loaded.
> 
> Lucas, any clues?
> 
> Full quote below.
> 
> Cheers,
> Rusty.
> 
> Philipp Matthias Hahn  writes:
> > Hello,
> >
> > My x86_64 systems has some trouble loading some ALSA snd-* modules since
> > the upgrade to 3.10.[01]: Several automatic modprobe calls hang, but
> > loading snd-intel-hda and snd-audio-usb by hand still works.
> >
> > # ps axf
> >   460 ?S  0:00  \_ [kworker/u8:3]
> >  1087 ?S  0:00  |   \_ [kworker/u8:3]
> >  1092 ?S  0:00  |   \_ /sbin/modprobe -q -- 
> > snd-seq-client-14
> > ...
> >  1071 ?S  0:00 sh -c /sbin/modprobe --ignore-install snd && { 
> > /sbin/modprobe --quiet snd
> >  1080 ?D  0:00  \_ /sbin/modprobe --quiet snd-seq
> >  1115 ?S  0:00 sh -c /sbin/modprobe --ignore-install 
> > snd-rawmidi && { /sbin/modprobe --q
> >  1154 ?S  0:00  \_ /sbin/modprobe --quiet snd-seq-midi
> >  1119 ?S  0:00 sh -c /sbin/modprobe --ignore-install 
> > snd-rawmidi && { /sbin/modprobe --q
> >  1148 ?S  0:00  \_ /sbin/modprobe --quiet snd-seq-midi
> >
> > In /var/log/daemon.log I find the following messages:
> > Jul 15 19:58:44 scout udevd[912]: timeout: killing '/sbin/modprobe -b 
> > usb:vFC08p0101d0250dc00dsc00dp00ic01isc01ip00in00' [1044]
> > Jul 15 19:58:56 scout udevd[912]: '/sbin/modprobe -b 
> > usb:vFC08p0101d0250dc00dsc00dp00ic01isc01ip00in00' [1044] terminated by 
> > signal 9 (Killed)
> > Jul 15 19:58:56 scout udevd[919]: timeout: killing '/sbin/modprobe -b 
> > pci:v10DEd026Csv1462sd7350bc04sc03i00' [1051]
> > Jul 15 19:58:56 scout udevd[914]: timeout: killing '/sbin/modprobe -b 
> > usb:vFC08p0101d0250dc00dsc00dp00ic01isc03ip00in01' [1045]
> > Jul 15 19:58:56 scout udevd[919]: '/sbin/modprobe -b 
> > pci:v10DEd026Csv1462sd7350bc04sc03i00' [1051] terminated by 
> > signal 9 (Killed)
> > Jul 15 19:58:56 scout udevd[914]: '/sbin/modprobe -b 
> > usb:vFC08p0101d0250dc00dsc00dp00ic01isc03ip00in01' [1045] terminated by 
> > signal 9 (Killed)
> >
> >
> > This is a Debian sid system
> > # modprobe -V
> > kmod version 9
> >
> > # echo t >/proc/sysrq-trigger
> > produces too much output to include the modprobe processes. I already
> > stopped most processes, but that is not enough.
> >
> >
> > # cat /proc/1092/syscall
> > 175 0x7effcad92000 0xafe8 0x7effca9c2f88 0x7effca6ea3aa 0x0 0x0 
> > 0x7fff3e3de648 0x7effca6eef8a
> >
> > # cat /proc/1080/syscall
> > 175 0x7fe01b25e000 0xafe8 0x7fe01ae8ef88 0x7fe01abb63aa 0x3 0x0 
> > 0x7fffba8cc748 0x7fe01abbaf8a
> >
> > # cat /proc/1154/syscall
> > 175 0x7fc157a7b000 0xafe8 0x7fc1576abf88 0x7fc1573d33aa 0x3 0x0 
> > 0x7fff05809e58 0x7fc1573d7f8a
> >
> > # cat /proc/1148/syscall
> > 175 0x7fc7159d5000 0xafe8 0x7fc715605f88 0x7fc71532d3aa 0x3 0x0 
> > 0x7fff47a1f3c8 0x7fc715331f8a
> >
> > Is this a know bug or has someone seen similar problems?
> >
> > # cat /proc/modules
> > ip6table_filter 1575 0 - Live 0xa0893000
> > ip6_tables 13784 1 ip6table_filter, Live 0xa088b000
> > ebtable_nat 1887 0 - Live 0xa0887000
> > ebtables 19917 1 ebtable_nat, Live 0xa087e000
> > snd_usb_audio 124196 0 - Live 0xa0851000
> > snd_usbmidi_lib 16982 1 snd_usb_audio, Live 0xa0848000
> > rfcomm 28731 10 - Live 0xa083a000
> > bnep 9786 2 - Live 0xa0833000
> > snd_hda_codec_realtek 37669 1 - Live 0xa0823000
> > 

Re: [alsa-devel] [BUG] 3.10.[01] modprobe snd-... hangs

2013-07-16 Thread Takashi Iwai
At Tue, 16 Jul 2013 15:11:51 +0930,
Rusty Russell wrote:
 
 Philipp Matthias Hahn pmh...@pmhahn.de writes:
  Hello,
 
  My x86_64 systems has some trouble loading some ALSA snd-* modules since
  the upgrade to 3.10.[01]: Several automatic modprobe calls hang, but
  loading snd-intel-hda and snd-audio-usb by hand still works.
 
 Not a known problem to me, at least.  Perhaps it's a dep loop somehow.

I remember that someone reported it being Debian specific snd-seq-oss
loading stuff.

  ...
   1071 ?S  0:00 sh -c /sbin/modprobe --ignore-install snd  { 
  /sbin/modprobe --quiet snd
   1080 ?D  0:00  \_ /sbin/modprobe --quiet snd-seq
 
 This was first, and it's waiting.  Which means it must be doing
 something weird, because snd_seq_oss is loading now:
 
  snd_seq_oss 33717 1 - Loading 0xa041b000
 
 Perhaps in the tangle of modprobe install commands somewhere this gets
 invoked?

Likely, but I wonder what triggered a bug suddenly on 3.10.
There is absolutely no change in sound/core/seq/*, and through a quick
look, I couldn't find any suspicious change in kernel/module.c that
may lead to this problem between 3.9 and 3.10.

Philipp, can you get a sysrq-T trace while the stall?


thanks,

Takashi

  # ps axf
460 ?S  0:00  \_ [kworker/u8:3]
   1087 ?S  0:00  |   \_ [kworker/u8:3]
   1092 ?S  0:00  |   \_ /sbin/modprobe -q -- 
  snd-seq-client-14
 
 On my systems, that's snd-seq-dummy, which depends on snd_seq.  Which,
 in fact, is already loaded.
 
 Lucas, any clues?
 
 Full quote below.
 
 Cheers,
 Rusty.
 
 Philipp Matthias Hahn pmh...@pmhahn.de writes:
  Hello,
 
  My x86_64 systems has some trouble loading some ALSA snd-* modules since
  the upgrade to 3.10.[01]: Several automatic modprobe calls hang, but
  loading snd-intel-hda and snd-audio-usb by hand still works.
 
  # ps axf
460 ?S  0:00  \_ [kworker/u8:3]
   1087 ?S  0:00  |   \_ [kworker/u8:3]
   1092 ?S  0:00  |   \_ /sbin/modprobe -q -- 
  snd-seq-client-14
  ...
   1071 ?S  0:00 sh -c /sbin/modprobe --ignore-install snd  { 
  /sbin/modprobe --quiet snd
   1080 ?D  0:00  \_ /sbin/modprobe --quiet snd-seq
   1115 ?S  0:00 sh -c /sbin/modprobe --ignore-install 
  snd-rawmidi  { /sbin/modprobe --q
   1154 ?S  0:00  \_ /sbin/modprobe --quiet snd-seq-midi
   1119 ?S  0:00 sh -c /sbin/modprobe --ignore-install 
  snd-rawmidi  { /sbin/modprobe --q
   1148 ?S  0:00  \_ /sbin/modprobe --quiet snd-seq-midi
 
  In /var/log/daemon.log I find the following messages:
  Jul 15 19:58:44 scout udevd[912]: timeout: killing '/sbin/modprobe -b 
  usb:vFC08p0101d0250dc00dsc00dp00ic01isc01ip00in00' [1044]
  Jul 15 19:58:56 scout udevd[912]: '/sbin/modprobe -b 
  usb:vFC08p0101d0250dc00dsc00dp00ic01isc01ip00in00' [1044] terminated by 
  signal 9 (Killed)
  Jul 15 19:58:56 scout udevd[919]: timeout: killing '/sbin/modprobe -b 
  pci:v10DEd026Csv1462sd7350bc04sc03i00' [1051]
  Jul 15 19:58:56 scout udevd[914]: timeout: killing '/sbin/modprobe -b 
  usb:vFC08p0101d0250dc00dsc00dp00ic01isc03ip00in01' [1045]
  Jul 15 19:58:56 scout udevd[919]: '/sbin/modprobe -b 
  pci:v10DEd026Csv1462sd7350bc04sc03i00' [1051] terminated by 
  signal 9 (Killed)
  Jul 15 19:58:56 scout udevd[914]: '/sbin/modprobe -b 
  usb:vFC08p0101d0250dc00dsc00dp00ic01isc03ip00in01' [1045] terminated by 
  signal 9 (Killed)
 
 
  This is a Debian sid system
  # modprobe -V
  kmod version 9
 
  # echo t /proc/sysrq-trigger
  produces too much output to include the modprobe processes. I already
  stopped most processes, but that is not enough.
 
 
  # cat /proc/1092/syscall
  175 0x7effcad92000 0xafe8 0x7effca9c2f88 0x7effca6ea3aa 0x0 0x0 
  0x7fff3e3de648 0x7effca6eef8a
 
  # cat /proc/1080/syscall
  175 0x7fe01b25e000 0xafe8 0x7fe01ae8ef88 0x7fe01abb63aa 0x3 0x0 
  0x7fffba8cc748 0x7fe01abbaf8a
 
  # cat /proc/1154/syscall
  175 0x7fc157a7b000 0xafe8 0x7fc1576abf88 0x7fc1573d33aa 0x3 0x0 
  0x7fff05809e58 0x7fc1573d7f8a
 
  # cat /proc/1148/syscall
  175 0x7fc7159d5000 0xafe8 0x7fc715605f88 0x7fc71532d3aa 0x3 0x0 
  0x7fff47a1f3c8 0x7fc715331f8a
 
  Is this a know bug or has someone seen similar problems?
 
  # cat /proc/modules
  ip6table_filter 1575 0 - Live 0xa0893000
  ip6_tables 13784 1 ip6table_filter, Live 0xa088b000
  ebtable_nat 1887 0 - Live 0xa0887000
  ebtables 19917 1 ebtable_nat, Live 0xa087e000
  snd_usb_audio 124196 0 - Live 0xa0851000
  snd_usbmidi_lib 16982 1 snd_usb_audio, Live 0xa0848000
  rfcomm 28731 10 - Live 0xa083a000
  bnep 9786 2 - Live 0xa0833000
  snd_hda_codec_realtek 37669 1 - Live 0xa0823000
  snd_hda_intel 31432 0 - Live 0xa0814000
  snd_hda_codec 140669 2 snd_hda_codec_realtek,snd_hda_intel, Live 
  0xa07e2000
  snd_hwdep 5627 2 snd_usb_audio,snd_hda_codec, Live 

Re: [alsa-devel] [BUG] 3.10.[01] modprobe snd-... hangs

2013-07-16 Thread Damien Wyart
* Takashi Iwai ti...@suse.de [2013-07-16 08:43]:
 At Tue, 16 Jul 2013 15:11:51 +0930,
 Rusty Russell wrote:

  Philipp Matthias Hahn pmh...@pmhahn.de writes:
   Hello,

   My x86_64 systems has some trouble loading some ALSA snd-* modules since
   the upgrade to 3.10.[01]: Several automatic modprobe calls hang, but
   loading snd-intel-hda and snd-audio-usb by hand still works.

  Not a known problem to me, at least.  Perhaps it's a dep loop somehow.

 I remember that someone reported it being Debian specific snd-seq-oss
 loading stuff.

There is also additional information here:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=660803

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


Re: [alsa-devel] [BUG] 3.10.[01] modprobe snd-... hangs

2013-07-16 Thread Takashi Iwai
At Tue, 16 Jul 2013 10:28:02 +0200,
Philipp Hahn wrote:
 
 Hello,
 
 Am Dienstag 16 Juli 2013, 08:43:36 schrieb Takashi Iwai:
  At Tue, 16 Jul 2013 15:11:51 +0930, Rusty Russell wrote:
   Philipp Matthias Hahn pmh...@pmhahn.de writes:
My x86_64 systems has some trouble loading some ALSA snd-* modules since
the upgrade to 3.10.[01]: Several automatic modprobe calls hang, but
loading snd-intel-hda and snd-audio-usb by hand still works.
   
   Not a known problem to me, at least.  Perhaps it's a dep loop somehow.
  
  I remember that someone reported it being Debian specific snd-seq-oss
  loading stuff.
 
 FYI: oss-compat is installed.
 
...
 1071 ?S  0:00 sh -c /sbin/modprobe --ignore-install snd  
{ /sbin/modprobe --quiet snd
 1080 ?D  0:00  \_ /sbin/modprobe --quiet snd-seq
   
   This was first, and it's waiting.  Which means it must be doing
   something weird, because snd_seq_oss is loading now:
   
snd_seq_oss 33717 1 - Loading 0xa041b000
   
   Perhaps in the tangle of modprobe install commands somewhere this gets
   invoked?
  
  Likely, but I wonder what triggered a bug suddenly on 3.10.
  There is absolutely no change in sound/core/seq/*, and through a quick
  look, I couldn't find any suspicious change in kernel/module.c that
  may lead to this problem between 3.9 and 3.10.
  
  Philipp, can you get a sysrq-T trace while the stall?
 
 I've finally been able to reducte the number of processes to get a full 
 trace; see attached file.
 
 Please note that in this case the proprietary nvidia module was loaded, 
 since I currently onyl have remove access to the machine.
 The original trace from yesterday happend without the nvidia module ever 
 being loaded.
 
 Am Dienstag 16 Juli 2013, 08:42:35 schrieb Lucas De Marchi:
  On Tue, Jul 16, 2013 at 2:41 AM, Rusty Russell ru...@rustcorp.com.au 
  wrote:
  First thing to check is the /etc/modprobe.d/*.conf file that contains
  these install commands. Did they change besides the kernel upgrade?
 
 Not that I know of: Booting 3.9.9 works fine, 3.10.x shows the problem.
 
 ...
  Philipp, which kernel are you upgrading from?
 I just upgraded from 3.9.9 to 3.10.0; also tried 3.10.1 which did not improve 
 the situation.

Could you check the patch below?  It makes the code path involving
with request_module asynchronous.


thanks,

Takashi

---
From: Takashi Iwai ti...@suse.de
Subject: [PATCH] ALSA: seq-oss: Initialize MIDI clients asynchronously

The recent report showed that the initial registration of OSS
sequencer clients stuck at loading the sound modules, which involves
with request_module() at the init phase.  As a workaround, call the
registration part asynchronously.  (And, this is a better approache
irrespective of the hang fix.)

Reported-by: Philipp Matthias Hahn pmh...@pmhahn.de
Cc: sta...@vger.kernel.org
Signed-off-by: Takashi Iwai ti...@suse.de
---
 sound/core/seq/oss/seq_oss_init.c | 16 +---
 sound/core/seq/oss/seq_oss_midi.c |  2 +-
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/sound/core/seq/oss/seq_oss_init.c 
b/sound/core/seq/oss/seq_oss_init.c
index e3cb46f..b3f39b5 100644
--- a/sound/core/seq/oss/seq_oss_init.c
+++ b/sound/core/seq/oss/seq_oss_init.c
@@ -31,6 +31,7 @@
 #include linux/export.h
 #include linux/moduleparam.h
 #include linux/slab.h
+#include linux/workqueue.h
 
 /*
  * common variables
@@ -60,6 +61,14 @@ static void free_devinfo(void *private);
 #define call_ctl(type,rec) snd_seq_kernel_client_ctl(system_client, type, rec)
 
 
+/* call snd_seq_oss_midi_lookup_ports() asynchronously */
+static void async_call_lookup_ports(struct work_struct *work)
+{
+   snd_seq_oss_midi_lookup_ports(system_client);
+}
+
+static DECLARE_WORK(async_lookup_work, async_call_lookup_ports);
+
 /*
  * create sequencer client for OSS sequencer
  */
@@ -85,9 +94,6 @@ snd_seq_oss_create_client(void)
system_client = rc;
debug_printk((new client = %d\n, rc));
 
-   /* look up midi devices */
-   snd_seq_oss_midi_lookup_ports(system_client);
-
/* create annoucement receiver port */
memset(port, 0, sizeof(*port));
strcpy(port-name, Receiver);
@@ -115,6 +121,9 @@ snd_seq_oss_create_client(void)
}
rc = 0;
 
+   /* look up midi devices */
+   schedule_work(async_lookup_work);
+
  __error:
kfree(port);
return rc;
@@ -160,6 +169,7 @@ receive_announce(struct snd_seq_event *ev, int direct, void 
*private, int atomic
 int
 snd_seq_oss_delete_client(void)
 {
+   cancel_work_sync(async_lookup_work);
if (system_client = 0)
snd_seq_delete_kernel_client(system_client);
 
diff --git a/sound/core/seq/oss/seq_oss_midi.c 
b/sound/core/seq/oss/seq_oss_midi.c
index 677dc84..862d8489 100644
--- a/sound/core/seq/oss/seq_oss_midi.c
+++ b/sound/core/seq/oss/seq_oss_midi.c
@@ -72,7 +72,7 @@ static int send_midi_event(struct seq_oss_devinfo *dp, struct 
snd_seq_event *ev,

Re: [alsa-devel] [BUG] 3.10.[01] modprobe snd-... hangs

2013-07-16 Thread Lucas De Marchi
On Tue, Jul 16, 2013 at 5:28 AM, Philipp Hahn pmh...@pmhahn.de wrote:
 Hello,

 Am Dienstag 16 Juli 2013, 08:43:36 schrieb Takashi Iwai:
 At Tue, 16 Jul 2013 15:11:51 +0930, Rusty Russell wrote:
  Philipp Matthias Hahn pmh...@pmhahn.de writes:
   My x86_64 systems has some trouble loading some ALSA snd-* modules since
   the upgrade to 3.10.[01]: Several automatic modprobe calls hang, but
   loading snd-intel-hda and snd-audio-usb by hand still works.
 
  Not a known problem to me, at least.  Perhaps it's a dep loop somehow.

 I remember that someone reported it being Debian specific snd-seq-oss
 loading stuff.

 FYI: oss-compat is installed.

   ...
1071 ?S  0:00 sh -c /sbin/modprobe --ignore-install snd  
   { /sbin/modprobe --quiet snd
1080 ?D  0:00  \_ /sbin/modprobe --quiet snd-seq
 
  This was first, and it's waiting.  Which means it must be doing
  something weird, because snd_seq_oss is loading now:
 
   snd_seq_oss 33717 1 - Loading 0xa041b000
 
  Perhaps in the tangle of modprobe install commands somewhere this gets
  invoked?

 Likely, but I wonder what triggered a bug suddenly on 3.10.
 There is absolutely no change in sound/core/seq/*, and through a quick
 look, I couldn't find any suspicious change in kernel/module.c that
 may lead to this problem between 3.9 and 3.10.

 Philipp, can you get a sysrq-T trace while the stall?

 I've finally been able to reducte the number of processes to get a full 
 trace; see attached file.

 Please note that in this case the proprietary nvidia module was loaded, 
 since I currently onyl have remove access to the machine.
 The original trace from yesterday happend without the nvidia module ever 
 being loaded.

 Am Dienstag 16 Juli 2013, 08:42:35 schrieb Lucas De Marchi:
 On Tue, Jul 16, 2013 at 2:41 AM, Rusty Russell ru...@rustcorp.com.au wrote:
 First thing to check is the /etc/modprobe.d/*.conf file that contains
 these install commands. Did they change besides the kernel upgrade?

 Not that I know of: Booting 3.9.9 works fine, 3.10.x shows the problem.

Then one possible explanation is that in 3.9.9 you don't have some of
the modules causing this problem


 ...
 Philipp, which kernel are you upgrading from?
 I just upgraded from 3.9.9 to 3.10.0; also tried 3.10.1 which did not improve 
 the situation.

 I don't see anything to
 blame in the changes for the past releases. Any chance a bad entry in
 your .conf was added too? You may want to paste the output of modprobe
 -c, at least until # End of configuration files. Dumping indexes
 now:

 blacklist snd_pcsp
 blacklist arkfb
 blacklist aty128fb
 blacklist atyfb
 blacklist radeonfb
 blacklist cirrusfb
 blacklist cyber2000fb
 blacklist gx1fb
 blacklist gxfb
 blacklist kyrofb
 blacklist matroxfb_base
 blacklist mb862xxfb
 blacklist neofb
 blacklist nvidiafb
 blacklist pm2fb
 blacklist pm3fb
 blacklist s3fb
 blacklist savagefb
 blacklist sisfb
 blacklist tdfxfb
 blacklist tridentfb
 blacklist viafb
 blacklist vt8623fb
 blacklist garmin_gps
 blacklist nouveau
 install binfmt_ /bin/true
 install sound_slot_0 /sbin/modprobe snd-card-0
 install sound_slot_1 /sbin/modprobe snd-card-1
 install sound_slot_2 /sbin/modprobe snd-card-2
 install sound_slot_3 /sbin/modprobe snd-card-3
 install sound_slot_4 /sbin/modprobe snd-card-4
 install sound_slot_5 /sbin/modprobe snd-card-5
 install sound_slot_6 /sbin/modprobe snd-card-6
 install sound_slot_7 /sbin/modprobe snd-card-7
 install snd /sbin/modprobe --ignore-install snd  { /sbin/modprobe --quiet 
 snd-ioctl32 ; /sbin/modprobe --quiet snd-seq ; : ; }
 install snd_rawmidi /sbin/modprobe --ignore-install snd-rawmidi  { 
 /sbin/modprobe --quiet snd-seq-midi ; : ; }
 install snd_emu10k1 /sbin/modprobe --ignore-install snd-emu10k1  { 
 /sbin/modprobe --quiet snd-emu10k1-synth ; : ; }
 alias net_pf_16_proto_1 wire
 alias net_pf_16_proto_3 ip_queue
 alias net_pf_16_proto_8 scsi_transport_iscsi
 alias net_pf_16_proto_9 audit
 alias net_pf_16_proto_11 cn
 alias net_pf_16_proto_13 ip6_queue
 alias binfmt_204 binfmt_aout
 alias binfmt_263 binfmt_aout
 alias binfmt_264 binfmt_aout
 alias binfmt_267 binfmt_aout
 alias binfmt_387 binfmt_aout
 alias block_major_3_* ide_generic
 alias block_major_22_* ide_generic
 alias block_major_33_* ide_generic
 alias block_major_34_* ide_generic
 alias block_major_37_* ide_tape
 alias block_major_44_* ftl
 alias block_major_46_* pcd
 alias block_major_47_* pf
 alias block_major_56_* ide_generic
 alias block_major_57_* ide_generic
 alias block_major_58_* lvm_mod
 alias block_major_88_* ide_generic
 alias block_major_89_* ide_generic
 alias block_major_90_* ide_generic
 alias block_major_91_* ide_generic
 alias block_major_93_* nftl
 alias block_major_97_* pg
 alias char_major_10_1 psmouse
 alias char_major_10_139 openprom
 alias char_major_10_157 applicom
 alias char_major_10_181 toshiba
 alias char_major_10_183 hw_random
 alias char_major_10_187 irnet
 alias char_major_10_189 ussp
 alias 

Re: [alsa-devel] [BUG] 3.10.[01] modprobe snd-... hangs

2013-07-16 Thread Philipp Matthias Hahn
Hello,

On Tue, Jul 16, 2013 at 12:29:38PM +0200, Takashi Iwai wrote:
 Could you check the patch below?  It makes the code path involving
 with request_module asynchronous.

With the patch applied all modules were loaded successfully: no hanging
modprobe processes anymore.

Thank you for your support.

...
 From: Takashi Iwai ti...@suse.de
 Subject: [PATCH] ALSA: seq-oss: Initialize MIDI clients asynchronously
 
 The recent report showed that the initial registration of OSS
 sequencer clients stuck at loading the sound modules, which involves
 with request_module() at the init phase.  As a workaround, call the
 registration part asynchronously.  (And, this is a better approache
 irrespective of the hang fix.)
 
 Reported-by: Philipp Matthias Hahn pmh...@pmhahn.de
 Cc: sta...@vger.kernel.org
 Signed-off-by: Takashi Iwai ti...@suse.de
 ---
  sound/core/seq/oss/seq_oss_init.c | 16 +---
  sound/core/seq/oss/seq_oss_midi.c |  2 +-
  2 files changed, 14 insertions(+), 4 deletions(-)
 
 diff --git a/sound/core/seq/oss/seq_oss_init.c 
 b/sound/core/seq/oss/seq_oss_init.c
 index e3cb46f..b3f39b5 100644

BYtE
Philipp
-- 
  / /  (_)__  __   __ Philipp Hahn
 / /__/ / _ \/ // /\ \/ /
//_/_//_/\_,_/ /_/\_\ pmh...@pmhahn.de
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [alsa-devel] [BUG] 3.10.[01] modprobe snd-... hangs

2013-07-16 Thread Rusty Russell
Lucas De Marchi lucas.de.mar...@gmail.com writes:
 On Tue, Jul 16, 2013 at 5:28 AM, Philipp Hahn pmh...@pmhahn.de wrote:
 Hello,

 Am Dienstag 16 Juli 2013, 08:43:36 schrieb Takashi Iwai:
 At Tue, 16 Jul 2013 15:11:51 +0930, Rusty Russell wrote:
  Philipp Matthias Hahn pmh...@pmhahn.de writes:
   My x86_64 systems has some trouble loading some ALSA snd-* modules since
   the upgrade to 3.10.[01]: Several automatic modprobe calls hang, but
   loading snd-intel-hda and snd-audio-usb by hand still works.
 
  Not a known problem to me, at least.  Perhaps it's a dep loop somehow.

 I remember that someone reported it being Debian specific snd-seq-oss
 loading stuff.

 FYI: oss-compat is installed.

   ...
1071 ?S  0:00 sh -c /sbin/modprobe --ignore-install snd  
   { /sbin/modprobe --quiet snd
1080 ?D  0:00  \_ /sbin/modprobe --quiet snd-seq
 
  This was first, and it's waiting.  Which means it must be doing
  something weird, because snd_seq_oss is loading now:
 
   snd_seq_oss 33717 1 - Loading 0xa041b000
 
  Perhaps in the tangle of modprobe install commands somewhere this gets
  invoked?

 Likely, but I wonder what triggered a bug suddenly on 3.10.
 There is absolutely no change in sound/core/seq/*, and through a quick
 look, I couldn't find any suspicious change in kernel/module.c that
 may lead to this problem between 3.9 and 3.10.

 Philipp, can you get a sysrq-T trace while the stall?

 I've finally been able to reducte the number of processes to get a full 
 trace; see attached file.

 Please note that in this case the proprietary nvidia module was loaded, 
 since I currently onyl have remove access to the machine.
 The original trace from yesterday happend without the nvidia module ever 
 being loaded.

 Am Dienstag 16 Juli 2013, 08:42:35 schrieb Lucas De Marchi:
 On Tue, Jul 16, 2013 at 2:41 AM, Rusty Russell ru...@rustcorp.com.au 
 wrote:
 First thing to check is the /etc/modprobe.d/*.conf file that contains
 these install commands. Did they change besides the kernel upgrade?

 Not that I know of: Booting 3.9.9 works fine, 3.10.x shows the problem.

 Then one possible explanation is that in 3.9.9 you don't have some of
 the modules causing this problem


 ...
 Philipp, which kernel are you upgrading from?
 I just upgraded from 3.9.9 to 3.10.0; also tried 3.10.1 which did not 
 improve the situation.

 I don't see anything to
 blame in the changes for the past releases. Any chance a bad entry in
 your .conf was added too? You may want to paste the output of modprobe
 -c, at least until # End of configuration files. Dumping indexes
 now:

 blacklist snd_pcsp
 blacklist arkfb
 blacklist aty128fb
 blacklist atyfb
 blacklist radeonfb
 blacklist cirrusfb
 blacklist cyber2000fb
 blacklist gx1fb
 blacklist gxfb
 blacklist kyrofb
 blacklist matroxfb_base
 blacklist mb862xxfb
 blacklist neofb
 blacklist nvidiafb
 blacklist pm2fb
 blacklist pm3fb
 blacklist s3fb
 blacklist savagefb
 blacklist sisfb
 blacklist tdfxfb
 blacklist tridentfb
 blacklist viafb
 blacklist vt8623fb
 blacklist garmin_gps
 blacklist nouveau
 install binfmt_ /bin/true
 install sound_slot_0 /sbin/modprobe snd-card-0
 install sound_slot_1 /sbin/modprobe snd-card-1
 install sound_slot_2 /sbin/modprobe snd-card-2
 install sound_slot_3 /sbin/modprobe snd-card-3
 install sound_slot_4 /sbin/modprobe snd-card-4
 install sound_slot_5 /sbin/modprobe snd-card-5
 install sound_slot_6 /sbin/modprobe snd-card-6
 install sound_slot_7 /sbin/modprobe snd-card-7
 install snd /sbin/modprobe --ignore-install snd  { /sbin/modprobe --quiet 
 snd-ioctl32 ; /sbin/modprobe --quiet snd-seq ; : ; }
 install snd_rawmidi /sbin/modprobe --ignore-install snd-rawmidi  { 
 /sbin/modprobe --quiet snd-seq-midi ; : ; }
 install snd_emu10k1 /sbin/modprobe --ignore-install snd-emu10k1  { 
 /sbin/modprobe --quiet snd-emu10k1-synth ; : ; }
 alias net_pf_16_proto_1 wire
 alias net_pf_16_proto_3 ip_queue
 alias net_pf_16_proto_8 scsi_transport_iscsi
 alias net_pf_16_proto_9 audit
 alias net_pf_16_proto_11 cn
 alias net_pf_16_proto_13 ip6_queue
 alias binfmt_204 binfmt_aout
 alias binfmt_263 binfmt_aout
 alias binfmt_264 binfmt_aout
 alias binfmt_267 binfmt_aout
 alias binfmt_387 binfmt_aout
 alias block_major_3_* ide_generic
 alias block_major_22_* ide_generic
 alias block_major_33_* ide_generic
 alias block_major_34_* ide_generic
 alias block_major_37_* ide_tape
 alias block_major_44_* ftl
 alias block_major_46_* pcd
 alias block_major_47_* pf
 alias block_major_56_* ide_generic
 alias block_major_57_* ide_generic
 alias block_major_58_* lvm_mod
 alias block_major_88_* ide_generic
 alias block_major_89_* ide_generic
 alias block_major_90_* ide_generic
 alias block_major_91_* ide_generic
 alias block_major_93_* nftl
 alias block_major_97_* pg
 alias char_major_10_1 psmouse
 alias char_major_10_139 openprom
 alias char_major_10_157 applicom
 alias char_major_10_181 toshiba
 alias char_major_10_183 hw_random
 alias char_major_10_187