Subject: Re: mc* performance patch
To: Dave Huang <khym@azeotrope.org>
From: Tim Kelly <hockey@dialectronics.com>
List: port-macppc
Date: 01/13/2005 21:38:54
On Thu, 13 Jan 2005 13:58:31 -0600
Dave Huang <khym@azeotrope.org> wrote:

> The mac68k version will print this
> message if it finds the buffer allocated was noncontiguous:
>  
> mc0: receive DMA buffer not contiguous! Try compiling with "options
> MC_RXDMABUFS=2"

I added the code from the arch/mac68k/dev/if_mc_obio.c file that tested
this, but there's a problem with the physaccess call. I couldn't find a
replacement function, and I couldn't tell if this function played a
role in mapping the memory.

From what I could see, basically you were converting the kernel virtual
address for rx buffer to a physical address, and then comparing it to
what the physical address would be if the buffer size was added to it
after being mapped by kvtop. Does the physaccess call map access to the
end (physical) address of the buffer? Do you know of a replacement
function?

thanks,
tim

(Without the physaccess call, it does report that the memory is not
contiguous when I set it for 4 buffers.)