if_bfe and > 1 GB of ram is now fixed (fwd)
Mikko Työläjärvi
mbsd at pacbell.net
Mon May 1 07:04:53 UTC 2006
On Mon, 1 May 2006, Mike Silbersack wrote:
> On Sun, 30 Apr 2006, Mikko Työläjärvi wrote:
>
>> Verfied that limiting RAM still works. I guess the code path that
>> needs the locking isn't being triggered, as it seems to deal with
>> bounce buffers.
>>
>> Actually, even with 2G I can get an address via DHCP, do DNS lookups,
>> ping some hosts and even have a short telnet session without problems.
>>
>> But starting a web browser or running cvsup instantly results in the
>> above panic.
>>
>> /Mikko
>
> Ok, I talked to Scott Long about the problem and he explained to me why it's
> happening. Subsequently, I was able to cause it to happen to me if I told
> the system that my bfe card could only accept buffers from under the 128MB
> mark.
>
> Basically, what's happening is that there are not enough bounce buffers to go
> around, but the driver is assuming that there are - so when we hit the limit,
> it doesn't handle the error properly, and it panics.
>
> Attached is my WIP patch - it stops the panics, but acts flakey at times - in
> other words, it needs more work. I don't think I'll have a chance to get
> back to it until Thursday. In the meantime, see if it helps you at all.
Well, it stops the panics but acts flakey at times :-)
To be more precise, a few minutes of testing with assorted network
activity worked fine until cvsup got stuck. Tcpdump on the server (not
the bfe box) showed acivity on the cvsup connection. Then I got a
bunch of somewhat alarming error messages and made an executive
decision to abort the experiment:
Memory modified after free 0xc5e79800(2048) val=8000076 @ 0xc5e79800
Memory modified after free 0xc5ea6500(256) val=46c0de @ 0xc5ea6530
Memory modified after free 0xc5e6ee00(256) val=76c0de @ 0xc5e6ee30
Memory modified after free 0xc5ea9200(256) val=46c0de @ 0xc5ea9230
It is beginning to dawn on me why my feeble attempts at fixing this
driver were in vain, with only basic understanding of DMA but without
complete Mastery of the Black Art of Busdma :-P
Thanks for the good work. There's no hurry. NDIS has worked
sufficiently well for months; it can continue to do service yet a
while longer.
Cheers,
/Mikko
More information about the freebsd-mobile
mailing list