Hi Michael,
In bnx2_fw.h I see the following:
static u32 bnx2_RXP_b06FwBss[(0x13dc/4) + 1] = { 0x0 };
static struct fw_info bnx2_rxp_fw_06 = {
...
.bss = bnx2_RXP_b06FwBss,
...
};
I grepped for the usage of .bss member (grepped for '[.>]bss[^_]')
and it is used only here:
if (fw->bss) {
int j;
for (j = 0; j < (fw->bss_len/4); j++, offset += 4) {
REG_WR_IND(bp, offset, fw->bss[j]);
}
}
If I understand it correctly, you read zero words one by one from
bnx2_RXP_b06FwBss and writing them into the card. This is very
suboptimal usage of nearly 5k of kernel unswappable memory.
Do you plan to fix it?
Do you have any plans to switch to request_firmware() interface,
which will allow you to avoid keeping firmware in unswappable kernel
memory and thus free ~80k?
$ size bnx2.o
text data bss dec hex filename
52255 81551 6360 140166 22386 bnx2.o
--
vda
-
| Michal Piotrowski | Re: 2.6.23-rc3-mm1 |
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Fred Tyler | Slow, persistent memory leak in 2.6.20 |
| Roland Dreier | Re: Integration of SCST in the mainstream Linux kernel |
git: | |
| David Miller | [GIT]: Networking |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| Antonio Almeida | HTB accuracy for high speed |
