On 2015-01-22 12:04, Stefan Sperling wrote:
On Thu, Jan 22, 2015 at 11:34:47AM -0500, John Merriam wrote:
So, what could be the problem then? Theoretically it did work as of the 1.35 if_bce.c revision which seems to have shipped in OpenBSD 5.0. This
message:

http://marc.info/?l=openbsd-tech&m=130217668909255

seems to verify that it did actually work at one point.

It looks as if some ring descriptor data is still being allocated with
bus_dmamem_alloc(). That function probably doesn't respect the mapping
constraints bce(4) hardware requires.

This diff makes bce use the same memory allocation APIs as bwi(4) is
using. Some bwi devices have the same 1GB problem and I know the bwi
code works fine with such devices. So perhaps applying the same approach
to bce will fix your issue.

Diff is compile-tested only due to lack of hardware at my end.


The machine currently has the 1GB DIMM in it. I tested the patch and it seems to work with <= 1GB RAM. ping -f test returned similar results so performance likely isn't affected.

I will put the 2GB DIMMs back in tonight when I can physically access the machine then test again and report results for > 1GB RAM.

--

John Merriam

Reply via email to