# route-cache performance

- From: Ralph Doncaster \<hidden\>
- Date: 2003-08-26 03:41:11 
- List: netdev
- Page: https://ratatoskr.run/netdev/2003/08/10736103
- Thread: https://ratatoskr.run/netdev/2003/08/10736103/t.md

```text
So far things look really good with 2.4.22-rc2 with a 1G Celery and e1000.
This is just send-only with full (123K) routes and then a small routing
table.  Tomorrow I'll test forwarding (in one e1000, out the other).

Here's with a full table:
    34 e1000_irq_enable                           0.7083
    67 kmalloc                                    0.8375
   147 memcpy_fromiovecend                        0.9187
   115 kfree_skbmem                               1.0268
   103 pfifo_fast_dequeue                         1.2875
   511 raw_getrawfrag                             2.2812
   272 __generic_copy_from_user                   2.4286
   322 handle_IRQ_event                           2.8750
   203 kfree                                      3.1719
   198 system_call                                3.5357

And with < 10 routes:
    29 kmalloc                                    0.3625
    45 kfree_skbmem                               0.4018
    66 memcpy_fromiovecend                        0.4125
    23 e1000_irq_enable                           0.4792
    53 pfifo_fast_dequeue                         0.6625
   256 raw_getrawfrag                             1.1429
   149 __generic_copy_from_user                   1.3304
   170 handle_IRQ_event                           1.5179
   113 kfree                                      1.7656
   115 system_call                                2.0536

Juno was able to send ~330kpps, which is pretty decent.  From the profiles
it looks like every packet sent by juno leads to a kmalloc/kfree.  If
that interpretation is correct then a fixed skb pool should lead to a
significant performance improvement.

Ralph Doncaster, IStop.com president
6042147 Canada Inc.
```
