lkml.org 
[lkml]   [2005]   [Dec]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: severe jitter experienced with "select()" in linux 2.6.14-rt22
From
Date
On Thu, 2005-12-15 at 20:06 -0500, Gautam Thaker wrote:
>
> /proc/latency trace is full of lines such as these:
>
> <...>-3 0.... 20317us : __down_mutex (rt_run_flush)
> <...>-3 0.... 20317us : __up_mutex_savestate (rt_run_flush)
> <...>-3 0.... 20317us : __down_mutex (rt_run_flush)
> <...>-3 0.... 20317us : __up_mutex_savestate (rt_run_flush)
> <...>-3 0.... 20317us : __down_mutex (rt_run_flush)
> <...>-3 0.... 20317us : __up_mutex_savestate (rt_run_flush)
> <...>-3 0.... 20318us : __down_mutex (rt_run_flush)
> <...>-3 0.... 20318us : __up_mutex_savestate (rt_run_flush)
> <...>-3 0.... 20318us : __down_mutex (rt_run_flush)
> <...>-3 0.... 20318us : __up_mutex_savestate (rt_run_flush)
> <...>-3 0.... 20318us : __down_mutex (rt_run_flush)
> <...>-3 0.... 20318us : __up_mutex_savestate (rt_run_flush)
> <...>-3 0.... 20319us : __down_mutex (rt_run_flush)
>
> and
>
> "dmesg" says somethign like this:
>
> ( ubersock-4032 |#0): new 131 us user-latency.
> ( ubersock-4032 |#0): new 131 us user-latency.
> ( ubersock-4032 |#0): new 133 us user-latency.
> ( ubersock-4032 |#0): new 221 us user-latency.
> ( ubersock-4032 |#0): new 223 us user-latency.
> ( ubersock-4032 |#0): new 20629 us user-latency.
> root@blade8>
>
> When tracing I exit my test when a large latency is observed (in the
> case above a 20,629 usec value was observed by the "select()" test.
>

AI've seen this in my tests too, I think it's still a problem that
rt_run_flush can cause a 20ms+ non preemptible section.

Ingo mentioned that he may push softirq preemption upstream which would
fix this. You can also try tweaking these sysctls:

net.ipv4.route.gc_elasticity = 8
net.ipv4.route.gc_interval = 60
net.ipv4.route.gc_timeout = 300
net.ipv4.route.gc_min_interval_ms = 500
net.ipv4.route.gc_min_interval = 0
net.ipv4.route.gc_thresh = 4096

which AFAICT should let you tune the route cache garbage collection to
run more often and hopefully process fewer routes per run.

Lee



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-12-16 04:31    [from the cache]
©2003-2014 Jasper Spaans. Advertise on this site