Subject: Re: [PATCH 1/6] ehea: interface to network stack

From: Jan-Bernd Themann <[email-masked]>
Date: Mon, 14 Aug 2006 17:43:21 +0200

Hi,

Anton Blanchard wrote:
>> Is a conditional cheaper than a divide?  In case of a misprediction I
>> would assume it to be significantly slower and I don't know the ratio
>> of mispredictions for this branch.
> 
> A quick scan of the web shows 40 cycles for athlon64 idiv, and its
> similarly slow on many other cpus. Even assuming you mispredict every
> branch its going to be a win.
> 
> Anton

as our queue size is always a power of 2, we simply use:
i++;
i &= (ringbufferlength - 1)

So we can get along without the if.

Jan-Bernd