* sfxload / asfxload page allocation failure @ 2004-04-13 11:37 holborn 2004-04-13 15:27 ` Takashi Iwai 0 siblings, 1 reply; 5+ messages in thread From: holborn @ 2004-04-13 11:37 UTC (permalink / raw) To: alsa-devel Hi! I have problems when i try to load "big" soundfonts, in older versions i was load this soundfonts without probems. when i run sfxload or asfxload with PC51f.sf2 (for example ... ) asfxload or sfxload try to load but no returnd to command line. No way to kill the process, no way to load other soundfonts and when i reboot i have this message: (Is hand copied ... maybe they are some typo errors) sfxload: page allocation failure. order:0, mode:0xd1 Call Trace: [<c013377a>] __alloc_pages+0x2e0/0x325 [<c01337de>] __get_free_pages+0x1f/0x41 [<c010d74f>] dma_alloc_coherent+0x47/0x7a [<e09681b6>] snd_dma_hack_alloc_coherent+0x13e/0x14e [snd_page_alloc] [<e096837c>] snd_malloc_dev_pages+0x4f/0x69 [snd_page_alloc] [<e096853f>] snd_dma_alloc_pages+0xc2/0xc4 [snd_page_alloc] [<e0a4e0d0>] synth_alloc_pages+0x5b/0x103 [snd_emu10k1] [<e0a4df3d>] snd_emu10k1_synth_alloc+0x4a/0x96 [snd_emu10k1] [<e0a10e8c>] snd_emu10k1_sample_new+0x84/0x1cd [snd_emu10k1_synth] [<e0a44b40>] load_data+0x167/0x1b7 [snd_emux_synth] [<e0a43f03>] snd_soundfont_load+0x12e/0x275 [snd_emux_synth] [<e0a45de5<] snd_emux_load_patch_seq_oss+0xde/0x116 [snd_emux_synth] [<e09ce49e>] snd_seq_oss_synth_load_patch+0x99/0x9b [snd_seq_oss] [<e09cd9ce>] snd_seq_oss_write+0x16c/0x17e [snd_seq_oss] [<e09cb0ba>] odev_write+0x0/0x14 [snd_seq_oss] [<c0149cec>] vfs_write+0xb0/0x119 [<c0149dfa>] sys_write+0x42/0x63 [<c0106d33>] syscall_cal+0x7/0xb I have the same error in a gentoo Driver version 1.0.4rc2 in kernel 2.6.5 and also in debian same kernel same alsa version of course .. :) Small soundfonts (8MB) loads perfect ... Thanks Josep ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: sfxload / asfxload page allocation failure 2004-04-13 11:37 sfxload / asfxload page allocation failure holborn @ 2004-04-13 15:27 ` Takashi Iwai 2004-04-13 16:22 ` holborn 0 siblings, 1 reply; 5+ messages in thread From: Takashi Iwai @ 2004-04-13 15:27 UTC (permalink / raw) To: holborn; +Cc: alsa-devel At Tue, 13 Apr 2004 12:37:10 +0100, holborn wrote: > > > Hi! > > I have problems when i try to load "big" soundfonts, in older versions i was > load this soundfonts without probems. > > when i run sfxload or asfxload with PC51f.sf2 (for example ... ) asfxload or > sfxload try to load but no returnd to command line. No way to kill the > process, no way to load other soundfonts and when i reboot i have this > message: well, it means that your machine has really no RAM available for the soundfont. on 2.4 kernel (or older ALSA version), the driver allocated the pages in atomic, so it doesn't go to sleep. on 2.6 and current ALSA, the page allocation is done with GFP_KERNEL, so it may sleep until the page is available. it can take a long time but must not be infinitely long. could you check whether the "page allocation failure" message already appeared when sfxload hangs up? does the message appears once or many times? Takashi ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: sfxload / asfxload page allocation failure 2004-04-13 15:27 ` Takashi Iwai @ 2004-04-13 16:22 ` holborn 2004-04-13 17:00 ` Takashi Iwai 0 siblings, 1 reply; 5+ messages in thread From: holborn @ 2004-04-13 16:22 UTC (permalink / raw) To: alsa-devel; +Cc: Takashi Iwai On Martes 13 Abril 2004 16:27, Takashi Iwai wrote: > At Tue, 13 Apr 2004 12:37:10 +0100, > > > well, it means that your machine has really no RAM available for the > soundfont. on 2.4 kernel (or older ALSA version), the driver > allocated the pages in atomic, so it doesn't go to sleep. > on 2.6 and current ALSA, the page allocation is done with GFP_KERNEL, > so it may sleep until the page is available. it can take a long time > but must not be infinitely long. > > could you check whether the "page allocation failure" message already > appeared when sfxload hangs up? > does the message appears once or many times? > > Hi ... the message appears after reboot command ... I have load this soundfonts for years :-) No problems to load the soundfont in kernel 2.6.4 alsa 1.0.2c but still no load in 2.6.5, i checked in two machines gentoo and Debian .. I made the sfxload after booting ... free command after login is: Mem total 515728 used 37940 free 477788 ----> in kernel 2.6.5 Mem total 515728 used 38916 free 476824 ----> in kernel 2.6.4 Then i try to run sfxload .... in kernel 2.6.4 loads in a seconds ... in kernel 2.6.5 i wait minutes .... then i login in other tty and i try to kill the sfxload .... no way ... and i use reboot command .... then appears the error message. Thanks Josep ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: sfxload / asfxload page allocation failure 2004-04-13 16:22 ` holborn @ 2004-04-13 17:00 ` Takashi Iwai 2004-04-14 1:25 ` holborn 0 siblings, 1 reply; 5+ messages in thread From: Takashi Iwai @ 2004-04-13 17:00 UTC (permalink / raw) To: holborn; +Cc: alsa-devel [-- Attachment #1: Type: text/plain, Size: 1298 bytes --] At Tue, 13 Apr 2004 17:22:52 +0100, holborn wrote: > > On Martes 13 Abril 2004 16:27, Takashi Iwai wrote: > > At Tue, 13 Apr 2004 12:37:10 +0100, > > > > > > > well, it means that your machine has really no RAM available for the > > soundfont. on 2.4 kernel (or older ALSA version), the driver > > allocated the pages in atomic, so it doesn't go to sleep. > > on 2.6 and current ALSA, the page allocation is done with GFP_KERNEL, > > so it may sleep until the page is available. it can take a long time > > but must not be infinitely long. > > > > could you check whether the "page allocation failure" message already > > appeared when sfxload hangs up? > > does the message appears once or many times? > > > > > > Hi ... the message appears after reboot command ... > I have load this soundfonts for years :-) > No problems to load the soundfont in kernel 2.6.4 alsa 1.0.2c but still no > load in 2.6.5, i checked in two machines gentoo and Debian .. > > > I made the sfxload after booting ... > > > free command after login is: > > Mem total 515728 used 37940 free 477788 ----> in kernel 2.6.5 > Mem total 515728 used 38916 free 476824 ----> in kernel 2.6.4 hmm, then it shouldn't fail. i guess the attached patch fixes the problem. please give a try. Takashi [-- Attachment #2: Type: text/plain, Size: 1399 bytes --] Index: alsa-kernel/core/memalloc.c =================================================================== RCS file: /suse/tiwai/cvs/alsa/alsa-kernel/core/memalloc.c,v retrieving revision 1.30 diff -u -r1.30 memalloc.c --- alsa-kernel/core/memalloc.c 7 Apr 2004 17:49:39 -0000 1.30 +++ alsa-kernel/core/memalloc.c 13 Apr 2004 16:58:05 -0000 @@ -137,14 +137,17 @@ dma_addr_t *dma_handle, int flags) { void *ret; - u64 dma_mask; + u64 dma_mask, coherent_dma_mask; if (dev == NULL || !dev->dma_mask) return dma_alloc_coherent(dev, size, dma_handle, flags); dma_mask = *dev->dma_mask; + coherent_dma_mask = dev->coherent_dma_mask; *dev->dma_mask = 0xffffffff; /* do without masking */ + dev->coherent_dma_mask = 0xffffffff; /* do without masking */ ret = dma_alloc_coherent(dev, size, dma_handle, flags); *dev->dma_mask = dma_mask; /* restore */ + dev->coherent_dma_mask = coherent_dma_mask; /* restore */ if (ret) { /* obtained address is out of range? */ if (((unsigned long)*dma_handle + size - 1) & ~dma_mask) { @@ -154,8 +157,12 @@ } } else { /* wish to success now with the proper mask... */ - if (dma_mask != 0xffffffffUL) + if (dma_mask != 0xffffffffUL) { + /* allocation with GFP_ATOMIC to avoid the long stall */ + flags &= ~GFP_KERNEL; + flags |= GFP_ATOMIC; ret = dma_alloc_coherent(dev, size, dma_handle, flags); + } } return ret; } ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: sfxload / asfxload page allocation failure 2004-04-13 17:00 ` Takashi Iwai @ 2004-04-14 1:25 ` holborn 0 siblings, 0 replies; 5+ messages in thread From: holborn @ 2004-04-14 1:25 UTC (permalink / raw) To: alsa-devel; +Cc: Takashi Iwai Hi! On Martes 13 Abril 2004 18:00, Takashi Iwai wrote: > > hmm, then it shouldn't fail. > i guess the attached patch fixes the problem. please give a try. > Now is perfect ..... thanks. You are the best :) Josep ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2004-04-14 1:25 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2004-04-13 11:37 sfxload / asfxload page allocation failure holborn 2004-04-13 15:27 ` Takashi Iwai 2004-04-13 16:22 ` holborn 2004-04-13 17:00 ` Takashi Iwai 2004-04-14 1:25 ` holborn
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.