netdev
[Top] [All Lists]

Re: [RFC] TCP congestion schedulers

To: Rick Jones <rick.jones2@xxxxxx>
Subject: Re: [RFC] TCP congestion schedulers
From: Matt Mackall <mpm@xxxxxxxxxxx>
Date: Wed, 30 Mar 2005 01:41:24 -0800
Cc: netdev@xxxxxxxxxxx
In-reply-to: <4249A570.90709@xxxxxx>
References: <20050311120054.4bbf675a@xxxxxxxxxxxxxxxxx> <20050311201011.360c00da.davem@xxxxxxxxxxxxx> <20050314151726.532af90d@xxxxxxxxxxxxxxxxx> <m13bur5qyo.fsf@xxxxxx> <Pine.LNX.4.58.0503211605300.6729@xxxxxxxxxxxxxx> <20050322074122.GA64595@xxxxxx> <20050328155117.7c5de370@xxxxxxxxxxxxxxxxx> <20050329152538.GF63268@xxxxxx> <20050329091725.4f955ee7@xxxxxxxxxxxxxxxxx> <4249A570.90709@xxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mutt/1.5.6+20040907i
On Tue, Mar 29, 2005 at 10:58:56AM -0800, Rick Jones wrote:
> <excerpt>
> 
> McKinley-type cores (includes Madison, etc.)
> do not have indirect branch target hardware.  Instead, indirect
> branches are executed as follows:
[...] 
> (1) To _guarantee_ correct prediction, the branch register has to be
>     loaded way before the indirect branch direction (at least 6
>     front-end L1I cache accesses; which is up to 6 bundle-pairs or 36
>     instructions, I believe).

That's horrendous. Indirect calls are a performance win vs conditional
branching on more sensible architectures and it's used quite
extensively in various parts of the kernel. It really makes one wonder
if dealing with this quirk is worth the trouble.

-- 
Mathematics is the supreme nostalgia of our time.

<Prev in Thread] Current Thread [Next in Thread>