netdev
[Top] [All Lists]

Re: [PATCH] Add prefetches in net/ipv4/route.c

To: Eric Dumazet <dada1@xxxxxxxxxxxxx>
Subject: Re: [PATCH] Add prefetches in net/ipv4/route.c
From: Robert Olsson <Robert.Olsson@xxxxxxxxxxx>
Date: Fri, 29 Jul 2005 16:50:31 +0200
Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>, netdev@xxxxxxxxxxx
In-reply-to: <42E94D11.4090002@xxxxxxxxxxxxx>
References: <42E8FF24.9070009@xxxxxxxxxxxxx> <20050728.123922.126777020.davem@xxxxxxxxxxxxx> <42E94680.8060309@xxxxxxxxxxxxx> <20050728.135826.63129319.davem@xxxxxxxxxxxxx> <42E94D11.4090002@xxxxxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
Eric Dumazet writes:

 > I have no profiling info for this exact patch, I'm sorry David.
 > On a dual opteron machine, this thing from ip_route_input() is very 
 > expensive :
 > 
 >   RT_CACHE_STAT_INC(in_hlist_search);
 > 
 > ip_route_input() use a total of 3.4563 % of one cpu, but this 'increment' 
 > takes 1.20 % !!!

 Very weird if the statscounter taking a third of ip_route_input.

 > Sometime I wonder if oprofile can be trusted :(
 > 
 > Maybe we should increment a counter on the stack and do a final
 >     if (counter != 0)
 >         RT_CACHE_STAT_ADD(in_hlist_search, counter);

 My experiences from playing with prefetching eth_type_trans in this 
 case. One must look in the total performance not just were the 
 prefetching is done. In this case I was able to get eth_type_trans
 down in the profile list but other functions increased so performance
 was the same or lower. This needs to be sorted out... 

 Cheers.
                                        --ro

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