From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47177) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1br6Xn-0002MO-3s for qemu-devel@nongnu.org; Mon, 03 Oct 2016 12:56:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1br6Xh-0001Yc-3L for qemu-devel@nongnu.org; Mon, 03 Oct 2016 12:56:46 -0400 From: rutu.shah.26@gmail.com Date: Mon, 3 Oct 2016 22:26:25 +0530 Message-Id: <1475513785-30275-1-git-send-email-rutu.shah.26@gmail.com> Subject: [Qemu-devel] [PATCH] Reducing stack frame size in stream_process_mem2s() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Rutuja Shah , edgar.iglesias@gmail.com, alistair.francis@xilinx.com, qemu-arm@nongnu.org, stefanh@gmail.com From: Rutuja Shah This patch allocates memory for txbuf array on the heap rather than the stack. As a result, the stack frame size is reduced. Signed-off-by: Rutuja Shah --- hw/dma/xilinx_axidma.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hw/dma/xilinx_axidma.c b/hw/dma/xilinx_axidma.c index b135a5f..6c63575 100644 --- a/hw/dma/xilinx_axidma.c +++ b/hw/dma/xilinx_axidma.c @@ -256,13 +256,14 @@ static void stream_process_mem2s(struct Stream *s, StreamSlave *tx_data_dev, StreamSlave *tx_control_dev) { uint32_t prev_d; - unsigned char txbuf[16 * 1024]; + unsigned char *txbuf; unsigned int txlen; if (!stream_running(s) || stream_idle(s)) { return; } + txbuf = g_malloc(16 * 1024); while (1) { stream_desc_load(s, s->regs[R_CURDESC]); @@ -304,6 +305,7 @@ static void stream_process_mem2s(struct Stream *s, StreamSlave *tx_data_dev, break; } } + g_free(txbuf); } static size_t stream_process_s2mem(struct Stream *s, unsigned char *buf, -- 1.9.1