Subject: Re: issues with com and non-PCI platforms.... a proposal
To: Garrett D'Amore <garrett_damore@tadpole.com>
From: Matt Thomas <matt@3am-software.com>
List: tech-kern
Date: 03/08/2006 16:30:35
On Mar 8, 2006, at 3:59 PM, Garrett D'Amore wrote:
> Jason Thorpe wrote:
>>
>> On Mar 8, 2006, at 1:47 PM, Garrett D'Amore wrote:
>>
>>> Steve Woodford wrote:
>>> Yes, I have such hardware. But on my platform its a feature of
>>> the bus
>>> I'm on, and not a device specific thing. (So I naturally take
>>> care of
>>> it in the parent bus.) The problem is when the actual *chip* has
>>> weird
>>> things about it that you try to solve at the bus level...
>>
>> I think a combination of things are necessary...
>>
>> 1- Adjusted bus_space tags for the access-width / stride issue
>>
>> 2- A register offset map for the "registers are laid out differently"
>> issue.
>>
>>> Oooh.... I like that idea.
>>
>> I don't... a single indirect function call is bad enough :-)
> How does an indirect function call compare against say the cost of
> another array index lookup and an extra shift/mask operation>
for vax, about an order of magnitude.
> Also, folks seem *really* concerned about the performance of these
> things. Are folks really wanting to drive *non-FIFO* older parts at
> 115200+? For newer parts it shouldn't matter that much.
Not every platform is N hundred MHz CPU.
> FWIW, this is like 14k extra indirect calls per second.
That's a lot.
> I'm also willing to consider that for low performance systems we
> use an
> #ifdef that makes the call not go thru the extra indirection.
Then why bother with the extra indirection?
> Its not as if these are really high data rate parts... :-)
They might seem to be for some platforms!