Re: [patch] voluntary-preempt-2.6.8.1-P5

Ingo Molnar
2004-08-21T10:46:43Z

* Lee Revell <rlrevell@joe-job.com> wrote:

>
> This one is interesting. What is going on here?
>
> preemption latency trace v1.0.1
> -------------------------------
> latency: 146 us, entries: 45 (45)
> -----------------
> | task: pdflush/33, uid:0 nice:0 policy:0 rt_prio:0
> -----------------
> => started at: find_get_pages_tag+0x19/0x90
> => ended at: find_get_pages_tag+0x61/0x90
> =======>
> 00000001 0.000ms (+0.000ms): find_get_pages_tag (pagevec_lookup_tag)
> 00000001 0.000ms (+0.000ms): radix_tree_gang_lookup_tag (find_get_pages_tag)
> 00000001 0.001ms (+0.000ms): __lookup_tag (radix_tree_gang_lookup_tag)
> 00000001 0.007ms (+0.005ms): __lookup_tag (radix_tree_gang_lookup_tag)
>
> [ 20-30 more of these ]

this is the pagevec code, triggering the radix tree multi-entry-lookup
code. Could you try to reduce PAGEVEC_SIZE from 16 to 8 (or 4) in
include/linux/pagevec.h - does this reduce these particular latencies?

Ingo