public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* bnx2 dirver's firmware images
@ 2007-09-18 17:23 Denys Vlasenko
  2007-09-18 18:45 ` Michael Chan
  0 siblings, 1 reply; 32+ messages in thread
From: Denys Vlasenko @ 2007-09-18 17:23 UTC (permalink / raw)
  To: Michael Chan; +Cc: linux-kernel

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

^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2007-09-21  1:36 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-09-18 17:23 bnx2 dirver's firmware images Denys Vlasenko
2007-09-18 18:45 ` Michael Chan
2007-09-18 17:55   ` Denys Vlasenko
2007-09-18 19:09     ` Michael Chan
2007-09-18 18:23   ` David Miller
2007-09-18 18:41     ` H. Peter Anvin
2007-09-18 19:20       ` David Miller
2007-09-18 19:27         ` H. Peter Anvin
2007-09-18 20:08           ` David Miller
2007-09-18 20:35             ` Sam Ravnborg
2007-09-18 20:40               ` H. Peter Anvin
2007-09-19 17:10               ` maximilian attems
2007-09-19 17:12                 ` H. Peter Anvin
2007-09-19 17:18                   ` maximilian attems
2007-09-19 17:37                     ` Sam Ravnborg
2007-09-18 20:05     ` Michael Chan
2007-09-18 19:21       ` David Miller
2007-09-18 21:30         ` Willy Tarreau
2007-09-18 21:31           ` David Miller
2007-09-18 21:37             ` Willy Tarreau
2007-09-18 23:14               ` Michael Chan
2007-09-19 13:40         ` Bill Davidsen
2007-09-19 16:09           ` David Miller
2007-09-19  8:30       ` Denys Vlasenko
2007-09-19 21:00         ` Michael Chan
2007-09-19 20:29           ` Denys Vlasenko
2007-09-19 21:43             ` Michael Chan
2007-09-20 14:49               ` Denys Vlasenko
2007-09-21  2:12                 ` Michael Chan
2007-09-19 16:33       ` maximilian attems
2007-09-19 16:38         ` David Miller
2007-09-19 16:51           ` maximilian attems

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox