* [PATCH] iwlwifi: reduce stack size
@ 2009-03-01 19:25 Frank Seidel
2009-03-02 21:42 ` reinette chatre
0 siblings, 1 reply; 2+ messages in thread
From: Frank Seidel @ 2009-03-01 19:25 UTC (permalink / raw)
To: linux kernel
Cc: akpm, linux-wireless@vger.kernel.org, John W. Linville, Zhu Yi,
Chatre, Reinette, Frank Seidel, Frank Seidel, kernalert.de,
Mohamed Abbas, Tomas Winkler, Abhijeet Kolekar, Johannes Berg
From: Frank Seidel <frank@f-seidel.de>
Reduce stack memory footprint of iwlwifi.
(From >1000 bytes for each *_table_read
on i386 down to 32)
Signed-off-by: Frank Seidel <frank@f-seidel.de>
---
drivers/net/wireless/iwlwifi/iwl-3945-rs.c | 11 +++++++++--
drivers/net/wireless/iwlwifi/iwl-agn-rs.c | 23 +++++++++++++++++++----
2 files changed, 28 insertions(+), 6 deletions(-)
--- a/drivers/net/wireless/iwlwifi/iwl-3945-rs.c
+++ b/drivers/net/wireless/iwlwifi/iwl-3945-rs.c
@@ -815,11 +815,16 @@ static ssize_t iwl3945_sta_dbgfs_stats_t
char __user *user_buf,
size_t count, loff_t *ppos)
{
- char buff[1024];
+ char *buff;
int desc = 0;
int j;
+ ssize_t ret;
struct iwl3945_rs_sta *lq_sta = file->private_data;
+ buff = kmalloc(1024, GFP_KERNEL);
+ if (!buff)
+ return -ENOMEM;
+
desc += sprintf(buff + desc, "tx packets=%d last rate index=%d\n"
"rate=0x%X flush time %d\n",
lq_sta->tx_packets,
@@ -832,7 +837,9 @@ static ssize_t iwl3945_sta_dbgfs_stats_t
lq_sta->win[j].success_counter,
lq_sta->win[j].success_ratio);
}
- return simple_read_from_buffer(user_buf, count, ppos, buff, desc);
+ ret = simple_read_from_buffer(user_buf, count, ppos, buff, desc);
+ kfree(buff);
+ return ret;
}
static const struct file_operations rs_sta_dbgfs_stats_table_ops = {
--- a/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
@@ -2474,12 +2474,17 @@ static ssize_t rs_sta_dbgfs_scale_table_
static ssize_t rs_sta_dbgfs_scale_table_read(struct file *file,
char __user *user_buf, size_t count, loff_t *ppos)
{
- char buff[1024];
+ char *buff;
int desc = 0;
int i = 0;
+ ssize_t ret;
struct iwl_lq_sta *lq_sta = file->private_data;
+ buff = kmalloc(1024, GFP_KERNEL);
+ if (!buff)
+ return -ENOMEM;
+
desc += sprintf(buff+desc, "sta_id %d\n", lq_sta->lq.sta_id);
desc += sprintf(buff+desc, "failed=%d success=%d rate=0%X\n",
lq_sta->total_failed, lq_sta->total_success,
@@ -2511,7 +2516,9 @@ static ssize_t rs_sta_dbgfs_scale_table_
desc += sprintf(buff+desc, " rate[%d] 0x%X\n",
i, le32_to_cpu(lq_sta->lq.rs_table[i].rate_n_flags));
- return simple_read_from_buffer(user_buf, count, ppos, buff, desc);
+ ret = simple_read_from_buffer(user_buf, count, ppos, buff, desc);
+ kfree(buff);
+ return ret;
}
static const struct file_operations rs_sta_dbgfs_scale_table_ops = {
@@ -2522,11 +2529,17 @@ static const struct file_operations rs_s
static ssize_t rs_sta_dbgfs_stats_table_read(struct file *file,
char __user *user_buf, size_t count, loff_t *ppos)
{
- char buff[1024];
+ char *buff;
int desc = 0;
int i, j;
+ ssize_t ret;
struct iwl_lq_sta *lq_sta = file->private_data;
+
+ buff = kmalloc(1024, GFP_KERNEL);
+ if (!buff)
+ return -ENOMEM;
+
for (i = 0; i < LQ_SIZE; i++) {
desc += sprintf(buff+desc, "%s type=%d SGI=%d FAT=%d DUP=%d\n"
"rate=0x%X\n",
@@ -2544,7 +2557,9 @@ static ssize_t rs_sta_dbgfs_stats_table_
lq_sta->lq_info[i].win[j].success_ratio);
}
}
- return simple_read_from_buffer(user_buf, count, ppos, buff, desc);
+ ret = simple_read_from_buffer(user_buf, count, ppos, buff, desc);
+ kfree(buff);
+ return ret;
}
static const struct file_operations rs_sta_dbgfs_stats_table_ops = {
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: [PATCH] iwlwifi: reduce stack size
2009-03-01 19:25 [PATCH] iwlwifi: reduce stack size Frank Seidel
@ 2009-03-02 21:42 ` reinette chatre
0 siblings, 0 replies; 2+ messages in thread
From: reinette chatre @ 2009-03-02 21:42 UTC (permalink / raw)
To: Frank Seidel
Cc: linux kernel, akpm@linux-foundation.org,
linux-wireless@vger.kernel.org, John W. Linville, Zhu, Yi,
Frank Seidel, kernalert.de@gmail.com, Abbas, Mohamed,
Winkler, Tomas, Kolekar, Abhijeet, Johannes Berg
On Sun, 2009-03-01 at 11:25 -0800, Frank Seidel wrote:
> From: Frank Seidel <frank@f-seidel.de>
>
> Reduce stack memory footprint of iwlwifi.
> (From >1000 bytes for each *_table_read
> on i386 down to 32)
>
> Signed-off-by: Frank Seidel <frank@f-seidel.de>
Thank you.
Acked-by: Reinette Chatre <reinette.chatre@intel.com>
Reinette
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2009-03-02 21:37 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-01 19:25 [PATCH] iwlwifi: reduce stack size Frank Seidel
2009-03-02 21:42 ` reinette chatre
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).