* [PATCH] isdn: reduce stack size of mISDN_dsp @ 2009-03-01 16:32 Frank Seidel 2009-03-01 16:51 ` Karsten Keil 2009-03-01 17:10 ` [PATCHv2] " Frank Seidel 0 siblings, 2 replies; 5+ messages in thread From: Frank Seidel @ 2009-03-01 16:32 UTC (permalink / raw) To: linux kernel Cc: akpm, kkeil, linux-isdn, fseidel, Frank Seidel, Ilpo Järvinen, Andreas Eversberg, Hannes Eder, Adrian Bunk From: Frank Seidel <frank@f-seidel.de> Reduce stack size memory footprint of mISDN_dsp. (From 1468 bytes for dsp_cmx_send on i386 down to 44). Signed-off-by: Frank Seidel <frank@f-seidel.de> --- drivers/isdn/mISDN/dsp_cmx.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- a/drivers/isdn/mISDN/dsp_cmx.c +++ b/drivers/isdn/mISDN/dsp_cmx.c @@ -1592,7 +1592,8 @@ dsp_cmx_send(void *arg) struct dsp_conf_member *member; struct dsp *dsp; int mustmix, members; - s32 mixbuffer[MAX_POLL+100], *c; + static s32 mixbuffer[MAX_POLL+100]; + s32 *c; u8 *p, *q; int r, rr; int jittercheck = 0, delay, i; ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] isdn: reduce stack size of mISDN_dsp 2009-03-01 16:32 [PATCH] isdn: reduce stack size of mISDN_dsp Frank Seidel @ 2009-03-01 16:51 ` Karsten Keil 2009-03-01 16:53 ` Frank Seidel 2009-03-01 17:10 ` [PATCHv2] " Frank Seidel 1 sibling, 1 reply; 5+ messages in thread From: Karsten Keil @ 2009-03-01 16:51 UTC (permalink / raw) To: Frank Seidel Cc: linux kernel, akpm, kkeil, linux-isdn, Frank Seidel, Ilpo Järvinen, Andreas Eversberg, Hannes Eder, Adrian Bunk On Sun, Mar 01, 2009 at 05:32:50PM +0100, Frank Seidel wrote: > From: Frank Seidel <frank@f-seidel.de> > > Reduce stack size memory footprint of mISDN_dsp. > (From 1468 bytes for dsp_cmx_send on i386 down > to 44). > I do not think we can use a static buffer here, we may have multiple instances. > Signed-off-by: Frank Seidel <frank@f-seidel.de> > --- > drivers/isdn/mISDN/dsp_cmx.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > --- a/drivers/isdn/mISDN/dsp_cmx.c > +++ b/drivers/isdn/mISDN/dsp_cmx.c > @@ -1592,7 +1592,8 @@ dsp_cmx_send(void *arg) > struct dsp_conf_member *member; > struct dsp *dsp; > int mustmix, members; > - s32 mixbuffer[MAX_POLL+100], *c; > + static s32 mixbuffer[MAX_POLL+100]; > + s32 *c; > u8 *p, *q; > int r, rr; > int jittercheck = 0, delay, i; -- Karsten Keil SuSE Labs ISDN and VOIP development SUSE LINUX Products GmbH, Maxfeldstr.5 90409 Nuernberg, GF: Markus Rex, HRB 16746 (AG Nuernberg) ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] isdn: reduce stack size of mISDN_dsp 2009-03-01 16:51 ` Karsten Keil @ 2009-03-01 16:53 ` Frank Seidel 0 siblings, 0 replies; 5+ messages in thread From: Frank Seidel @ 2009-03-01 16:53 UTC (permalink / raw) To: Karsten Keil Cc: Frank Seidel, linux kernel, akpm, linux-isdn, Frank Seidel, Ilpo Järvinen, Andreas Eversberg, Hannes Eder, Adrian Bunk On 03/01/2009 05:51 PM, Karsten Keil wrote: > I do not think we can use a static buffer here, > we may have multiple instances. Oh, i see. So i'll redo the patch with kmalloc/kfree. Thanks, Frank ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCHv2] isdn: reduce stack size of mISDN_dsp 2009-03-01 16:32 [PATCH] isdn: reduce stack size of mISDN_dsp Frank Seidel 2009-03-01 16:51 ` Karsten Keil @ 2009-03-01 17:10 ` Frank Seidel 2009-03-01 19:54 ` Karsten Keil 1 sibling, 1 reply; 5+ messages in thread From: Frank Seidel @ 2009-03-01 17:10 UTC (permalink / raw) To: linux kernel Cc: akpm, kkeil, linux-isdn, Frank Seidel, Ilpo Järvinen, Andreas Eversberg, Hannes Eder, Adrian Bunk, Frank Seidel From: Frank Seidel <frank@f-seidel.de> Reduce stack size memory footprint of mISDN_dsp. (From 1468 bytes for dsp_cmx_send on i386 down to 44). Signed-off-by: Frank Seidel <frank@f-seidel.de> --- drivers/isdn/mISDN/dsp_cmx.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) --- a/drivers/isdn/mISDN/dsp_cmx.c +++ b/drivers/isdn/mISDN/dsp_cmx.c @@ -1592,13 +1592,21 @@ dsp_cmx_send(void *arg) struct dsp_conf_member *member; struct dsp *dsp; int mustmix, members; - s32 mixbuffer[MAX_POLL+100], *c; + s32 *mixbuffer; + s32 *c; u8 *p, *q; int r, rr; int jittercheck = 0, delay, i; u_long flags; u16 length, count; + mixbuffer = kmalloc(sizeof(*mixbuffer) * (MAX_POLL + 100), GFP_KERNEL); + if (!mixbuffer) { + printk(KERN_ERR "mISDN_dsp: cannot allocate buffer(%s)\n", + __func__); + return; + } + /* lock */ spin_lock_irqsave(&dsp_lock, flags); @@ -1811,6 +1819,8 @@ dsp_cmx_send(void *arg) /* unlock */ spin_unlock_irqrestore(&dsp_lock, flags); + + kfree(mixbuffer); } /* ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCHv2] isdn: reduce stack size of mISDN_dsp 2009-03-01 17:10 ` [PATCHv2] " Frank Seidel @ 2009-03-01 19:54 ` Karsten Keil 0 siblings, 0 replies; 5+ messages in thread From: Karsten Keil @ 2009-03-01 19:54 UTC (permalink / raw) To: Frank Seidel Cc: linux kernel, akpm, kkeil, linux-isdn, Frank Seidel, Ilpo Järvinen, Andreas Eversberg, Hannes Eder, Adrian Bunk On Sun, Mar 01, 2009 at 06:10:24PM +0100, Frank Seidel wrote: > From: Frank Seidel <frank@f-seidel.de> > > Reduce stack size memory footprint of mISDN_dsp. > (From 1468 bytes for dsp_cmx_send on i386 down > to 44). Looks safer and has the same function as before, but I think we should work on a better solution later, which use one buffer per instance and allocate it on creation time. Andreas, what do you think ? > > Signed-off-by: Frank Seidel <frank@f-seidel.de> > --- > drivers/isdn/mISDN/dsp_cmx.c | 12 +++++++++++- > 1 file changed, 11 insertions(+), 1 deletion(-) > > --- a/drivers/isdn/mISDN/dsp_cmx.c > +++ b/drivers/isdn/mISDN/dsp_cmx.c > @@ -1592,13 +1592,21 @@ dsp_cmx_send(void *arg) > struct dsp_conf_member *member; > struct dsp *dsp; > int mustmix, members; > - s32 mixbuffer[MAX_POLL+100], *c; > + s32 *mixbuffer; > + s32 *c; > u8 *p, *q; > int r, rr; > int jittercheck = 0, delay, i; > u_long flags; > u16 length, count; > > + mixbuffer = kmalloc(sizeof(*mixbuffer) * (MAX_POLL + 100), GFP_KERNEL); > + if (!mixbuffer) { > + printk(KERN_ERR "mISDN_dsp: cannot allocate buffer(%s)\n", > + __func__); > + return; > + } > + > /* lock */ > spin_lock_irqsave(&dsp_lock, flags); > > @@ -1811,6 +1819,8 @@ dsp_cmx_send(void *arg) > > /* unlock */ > spin_unlock_irqrestore(&dsp_lock, flags); > + > + kfree(mixbuffer); > } > > /* -- Karsten Keil ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2009-03-01 19:55 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-03-01 16:32 [PATCH] isdn: reduce stack size of mISDN_dsp Frank Seidel 2009-03-01 16:51 ` Karsten Keil 2009-03-01 16:53 ` Frank Seidel 2009-03-01 17:10 ` [PATCHv2] " Frank Seidel 2009-03-01 19:54 ` Karsten Keil
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox