Subject: Re: mc* performance patch
To: Tim Kelly <hockey@dialectronics.com>
From: Chaz McGarvey <chaz@brokenzipper.com>
List: port-macppc
Date: 01/13/2005 20:42:54
On Jan 13, 2005, at 7:38 PM, Tim Kelly wrote:

> 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.)

Just on the off chance that it might help you find the problem, mc0
dropped about 50% packets while I was using 1.6.2, and now it works
well (close to 1MB/sec) after upgrading to 2.0 using the generic
kernel in both cases.

I've got a 7300/180 with a 500Mhz G4 upgrade cpu and 80MB of memory.

chaz