iwi leaks memory?
Olivier Houchard
cognet at ci0.org
Sun Feb 18 15:54:52 UTC 2007
On Sun, Feb 18, 2007 at 04:20:18PM +0100, Max Laier wrote:
> On Friday 16 February 2007 17:51, Luigi Rizzo wrote:
> > On Fri, Feb 16, 2007 at 05:38:28PM +0100, Max Laier wrote:
> > ...
> >
> > > I'm under the impression that this is more a problem of increasing
> > > fragmentation until we can't get a big enough unfragmented chunk. I
> > > don't have any proof of this assumption yet.
> >
> > makes sense.
> > As a matter of fact i wonder whether it wouldn't be smarter
> > to allocate the dma-ble memory on the first request and
> > keep it around until the driver is unloaded.
> >
> > If i read the code in iwi_load_firmware() correctly,
> > the contiguous chunks cannot be longer than 8191 bytes,
> > so a single contiguous buffer is not mandatory.
> > I just don't know if we can write the firmware to the adapter
> > with multiple operations (lists of command blocks) or
> > it needs to be just a single list ?
>
> The linux driver uses one continuous buffer as well. I tried to hand in
> separate buffers, but it failed to initialize the firmware. Attached is
> a diff (for HEAD and RELENG_6) to allocate the DMA buffer once and keep
> it around. As I said earlier: As long as the firmware is as (un)stable
> as it is now, this might be the only sensible way. All in all it's not
> that bad, as we "only" throw away 212966 bytes.
>
> Could you please confirm that this works for you?
>
Should do, that's what my patch did too :-)
Mine tried to re-allocate memory only if the new firmware size was > the old
one, not sure it's useful.
Olivier
More information about the freebsd-net
mailing list