* 2.6.14-rt22 (and mainline): netstat -anop triggers excessive latencies
@ 2005-12-21 6:04 Lee Revell
2005-12-21 22:37 ` Steven Rostedt
0 siblings, 1 reply; 11+ messages in thread
From: Lee Revell @ 2005-12-21 6:04 UTC (permalink / raw)
To: linux-kernel; +Cc: Ingo Molnar
Here is a 13ms+ trace caused by "netstat -anop". I noticed that the
preempt count is 0 so there are no locks to drop, would adding a
cond_resched() be acceptable? Or should this be considered more
evidence of the need for softirq preemption?
preemption latency trace v1.1.5 on 2.6.14-rt22
--------------------------------------------------------------------
latency: 13824 us, #16533/16533, CPU#0 | (M:preempt VP:0, KP:0, SP:0 HP:0)
-----------------
| task: softirq-timer/0-3 (uid:0 nice:0 policy:1 rt_prio:1)
-----------------
_------=> CPU#
/ _-----=> irqs-off
| / _----=> need-resched
|| / _---=> hardirq/softirq
||| / _--=> preempt-depth
|||| /
||||| delay
cmd pid ||||| time | caller
\ / ||||| \ | /
netstat-29157 0D.h2 0us : __trace_start_sched_wakeup (try_to_wake_up)
netstat-29157 0D.h2 1us : __trace_start_sched_wakeup <<...>-3> (62 0)
netstat-29157 0D.h. 2us : wake_up_process (wakeup_softirqd)
netstat-29157 0D.h. 3us : scheduler_tick (update_process_times)
netstat-29157 0D.h. 3us : sched_clock (scheduler_tick)
netstat-29157 0D.h1 5us : task_timeslice (scheduler_tick)
netstat-29157 0D.h. 6us : run_posix_cpu_timers (update_process_times)
netstat-29157 0D.h1 7us : note_interrupt (__do_IRQ)
netstat-29157 0D.h1 8us : end_8259A_irq (__do_IRQ)
netstat-29157 0D.h1 8us+: enable_8259A_irq (end_8259A_irq)
netstat-29157 0DnH. 10us : irq_exit (do_IRQ)
netstat-29157 0Dns. 11us < (608)
netstat-29157 0.ns. 13us : preempt_schedule (established_get_first)
netstat-29157 0.ns. 13us : cond_resched_softirq (established_get_first)
netstat-29157 0.ns. 14us : preempt_schedule (established_get_first)
netstat-29157 0.ns. 15us : cond_resched_softirq (established_get_first)
netstat-29157 0.ns. 16us : preempt_schedule (established_get_first)
netstat-29157 0.ns. 17us : cond_resched_softirq (established_get_first)
netstat-29157 0.ns. 18us : preempt_schedule (established_get_first)
[ at about 1ms switches to established_get_next ]
netstat-29157 0.ns. 13765us : cond_resched_softirq (established_get_next)
netstat-29157 0.ns. 13766us : preempt_schedule (established_get_next)
netstat-29157 0.ns. 13767us : cond_resched_softirq (established_get_next)
netstat-29157 0.ns. 13768us : preempt_schedule (established_get_next)
netstat-29157 0.ns. 13769us : cond_resched_softirq (established_get_next)
netstat-29157 0.ns. 13770us : tcp_seq_stop (seq_read)
netstat-29157 0.ns. 13771us : local_bh_enable (tcp_seq_stop)
netstat-29157 0.n.1 13772us : do_softirq (local_bh_enable)
netstat-29157 0D.s. 13774us : __do_softirq (do_softirq)
netstat-29157 0D.s. 13775us : ___do_softirq (__do_softirq)
netstat-29157 0..s. 13776us : run_timer_softirq (___do_softirq)
netstat-29157 0..s. 13778us : cond_resched_softirq (run_timer_softirq)
netstat-29157 0..s. 13779us : cond_resched_softirq (run_timer_softirq)
netstat-29157 0..s. 13779us : cond_resched_softirq (run_timer_softirq)
netstat-29157 0..s. 13780us : cond_resched_softirq (run_timer_softirq)
netstat-29157 0..s. 13781us : cond_resched_softirq (run_timer_softirq)
netstat-29157 0..s. 13782us : cond_resched_softirq (run_timer_softirq)
netstat-29157 0..s. 13783us : cond_resched_softirq (run_timer_softirq)
netstat-29157 0..s. 13784us : cond_resched_softirq (run_timer_softirq)
netstat-29157 0..s. 13785us : cond_resched_softirq (run_timer_softirq)
netstat-29157 0..s. 13786us : cond_resched_softirq (run_timer_softirq)
netstat-29157 0..s. 13787us : cond_resched_softirq (run_timer_softirq)
netstat-29157 0..s. 13788us : cond_resched_softirq (run_timer_softirq)
netstat-29157 0..s. 13789us : cond_resched_softirq (run_timer_softirq)
netstat-29157 0..s. 13790us : cond_resched_softirq (run_timer_softirq)
netstat-29157 0..s. 13791us : ktimer_run_queues (run_timer_softirq)
netstat-29157 0..s. 13792us : get_realtime_clock (ktimer_run_queues)
netstat-29157 0..s. 13793us : read_tsc (get_realtime_clock)
netstat-29157 0..s. 13795us : ktime_add_ns (get_realtime_clock)
netstat-29157 0..s. 13796us : get_monotonic_clock (ktimer_run_queues)
netstat-29157 0..s. 13797us : read_tsc (get_monotonic_clock)
netstat-29157 0..s. 13798us+: ktime_add_ns (get_monotonic_clock)
netstat-29157 0..s. 13802us : __wake_up (run_timer_softirq)
netstat-29157 0D.s1 13802us : __wake_up_common (__wake_up)
netstat-29157 0..s. 13804us : cond_resched_all (___do_softirq)
netstat-29157 0..s. 13804us : cond_resched_softirq (cond_resched_all)
netstat-29157 0.n.. 13805us : preempt_schedule (local_bh_enable)
netstat-29157 0Dn.. 13806us : __schedule (preempt_schedule)
netstat-29157 0Dn.. 13807us : profile_hit (__schedule)
netstat-29157 0Dn.1 13808us+: sched_clock (__schedule)
<...>-3 0D..2 13814us+: __switch_to (__schedule)
<...>-3 0D..2 13820us : __schedule <netstat-29157> (75 62)
<...>-3 0...1 13821us : trace_stop_sched_switched (__schedule)
<...>-3 0D..2 13821us+: trace_stop_sched_switched <<...>-3> (62 0)
<...>-3 0D..2 13824us : trace_stop_sched_switched (__schedule)
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6.14-rt22 (and mainline): netstat -anop triggers excessive latencies
2005-12-21 6:04 2.6.14-rt22 (and mainline): netstat -anop triggers excessive latencies Lee Revell
@ 2005-12-21 22:37 ` Steven Rostedt
2005-12-21 23:19 ` Lee Revell
2005-12-28 1:21 ` Lee Revell
0 siblings, 2 replies; 11+ messages in thread
From: Steven Rostedt @ 2005-12-21 22:37 UTC (permalink / raw)
To: Lee Revell; +Cc: Ingo Molnar, linux-kernel
On Wed, 2005-12-21 at 01:04 -0500, Lee Revell wrote:
> Here is a 13ms+ trace caused by "netstat -anop". I noticed that the
> preempt count is 0 so there are no locks to drop, would adding a
> cond_resched() be acceptable? Or should this be considered more
> evidence of the need for softirq preemption?
>
> preemption latency trace v1.1.5 on 2.6.14-rt22
> --------------------------------------------------------------------
> latency: 13824 us, #16533/16533, CPU#0 | (M:preempt VP:0, KP:0, SP:0 HP:0)
> -----------------
> | task: softirq-timer/0-3 (uid:0 nice:0 policy:1 rt_prio:1)
> -----------------
>
> _------=> CPU#
> / _-----=> irqs-off
> | / _----=> need-resched
> || / _---=> hardirq/softirq
> ||| / _--=> preempt-depth
> |||| /
> ||||| delay
> cmd pid ||||| time | caller
> \ / ||||| \ | /
> netstat-29157 0D.h2 0us : __trace_start_sched_wakeup (try_to_wake_up)
> netstat-29157 0D.h2 1us : __trace_start_sched_wakeup <<...>-3> (62 0)
> netstat-29157 0D.h. 2us : wake_up_process (wakeup_softirqd)
Hi Lee, I've seen the same thing here. I wrote up this patch as a case
study to see if it can work and it does. Now this sacrifices memory for
speed. I added a bitmask in the inet_hash to keep track of all the
buckets that are used, and use the find_next_bit to search the list in
established_get_first.
After running the netstat -anop I get the following:
preemption latency trace v1.1.5 on 2.6.14-rt22
--------------------------------------------------------------------
latency: 377 us, #225/225, CPU#0 | (M:preempt VP:0, KP:0, SP:0 HP:0)
-----------------
| task: softirq-timer/0-3 (uid:0 nice:0 policy:1 rt_prio:1)
-----------------
_------=> CPU#
/ _-----=> irqs-off
| / _----=> need-resched
|| / _---=> hardirq/softirq
||| / _--=> preempt-depth
|||| /
||||| delay
cmd pid ||||| time | caller
\ / ||||| \ | /
<idle>-0 0D.h4 0us : __trace_start_sched_wakeup (try_to_wake_up)
<idle>-0 0D.h4 0us : __trace_start_sched_wakeup <<...>-3> (62 0)
<idle>-0 0Dnh3 0us : try_to_wake_up <<...>-3> (62 8c)
<idle>-0 0Dnh2 1us : preempt_schedule (try_to_wake_up)
<idle>-0 0Dnh2 1us : wake_up_process (wakeup_softirqd)
[snip]
So it really does improve the latency here. Now is this worth the
overhead? This might be useful in other places to.
Ingo,
What do you think?
-- Steve
Index: linux-2.6.14-rt22/include/net/inet_hashtables.h
===================================================================
--- linux-2.6.14-rt22.orig/include/net/inet_hashtables.h 2005-10-27 20:02:08.000000000 -0400
+++ linux-2.6.14-rt22/include/net/inet_hashtables.h 2005-12-21 17:05:35.000000000 -0500
@@ -101,6 +101,7 @@
* is for TIME_WAIT sockets only.
*/
struct inet_ehash_bucket *ehash;
+ unsigned long *ebitmask;
/* Ok, let's try this, I give up, we do need a local binding
* TCP hash as well as the others for fast bind/connect.
@@ -157,6 +158,13 @@
return &hashinfo->ehash[hash & (hashinfo->ehash_size - 1)];
}
+static inline unsigned int inet_ehash_index(
+ struct inet_hashinfo *hashinfo,
+ unsigned int hash)
+{
+ return hash & (hashinfo->ehash_size - 1);
+}
+
extern struct inet_bind_bucket *
inet_bind_bucket_create(kmem_cache_t *cachep,
struct inet_bind_hashbucket *head,
@@ -229,11 +237,25 @@
wake_up(&hashinfo->lhash_wait);
}
+static inline void __inet_hash_setbit(unsigned long *bitmask, unsigned int index)
+{
+ if (bitmask)
+ set_bit(index, bitmask);
+}
+
+static inline void __inet_hash_clearbit(unsigned long *bitmask, unsigned int index)
+{
+ if (bitmask)
+ clear_bit(index, bitmask);
+}
+
static inline void __inet_hash(struct inet_hashinfo *hashinfo,
struct sock *sk, const int listen_possible)
{
struct hlist_head *list;
rwlock_t *lock;
+ unsigned long *bitmask = NULL;
+ unsigned int index = 0;
BUG_TRAP(sk_unhashed(sk));
if (listen_possible && sk->sk_state == TCP_LISTEN) {
@@ -243,12 +265,15 @@
} else {
struct inet_ehash_bucket *head;
sk->sk_hash = inet_sk_ehashfn(sk);
+ index = inet_ehash_index(hashinfo, sk->sk_hash);
head = inet_ehash_bucket(hashinfo, sk->sk_hash);
list = &head->chain;
lock = &head->lock;
+ bitmask = hashinfo->ebitmask;
write_lock(lock);
}
__sk_add_node(sk, list);
+ __inet_hash_setbit(bitmask, index);
sock_prot_inc_use(sk->sk_prot);
write_unlock(lock);
if (listen_possible && sk->sk_state == TCP_LISTEN)
@@ -267,6 +292,8 @@
static inline void inet_unhash(struct inet_hashinfo *hashinfo, struct sock *sk)
{
rwlock_t *lock;
+ unsigned long *bitmask = NULL;
+ unsigned int index = 0;
if (sk_unhashed(sk))
goto out;
@@ -276,12 +303,16 @@
inet_listen_wlock(hashinfo);
lock = &hashinfo->lhash_lock;
} else {
+ index = inet_ehash_index(hashinfo, sk->sk_hash);
lock = &inet_ehash_bucket(hashinfo, sk->sk_hash)->lock;
+ bitmask = hashinfo->ebitmask;
write_lock_bh(lock);
}
- if (__sk_del_node_init(sk))
+ if (__sk_del_node_init(sk)) {
+ __inet_hash_clearbit(bitmask, index);
sock_prot_dec_use(sk->sk_prot);
+ }
write_unlock_bh(lock);
out:
if (sk->sk_state == TCP_LISTEN)
Index: linux-2.6.14-rt22/mm/page_alloc.c
===================================================================
--- linux-2.6.14-rt22.orig/mm/page_alloc.c 2005-12-15 21:46:16.000000000 -0500
+++ linux-2.6.14-rt22/mm/page_alloc.c 2005-12-21 17:05:23.000000000 -0500
@@ -2601,3 +2601,30 @@
return table;
}
+
+void *__init alloc_large_system_bitmask(char *bitmaskname,
+ unsigned long bits, int flags)
+{
+ unsigned long words = bits / (sizeof(unsigned long)*8);
+ unsigned long size = words * sizeof(unsigned long);
+ unsigned long *bitmask = NULL;
+
+ if (flags & HASH_EARLY)
+ bitmask = alloc_bootmem(size);
+ else if (hashdist)
+ bitmask = __vmalloc(size, GFP_ATOMIC, PAGE_KERNEL);
+ else {
+ bitmask = kmalloc(size, GFP_ATOMIC);
+ if (!bitmask) {
+ unsigned long order;
+ for (order = 0; ((1UL << order) << PAGE_SHIFT) < size; order++)
+ ;
+ bitmask = (void*) __get_free_pages(GFP_ATOMIC, order);
+ }
+ }
+
+ if (!bitmask)
+ panic("Failed to allocate %s bitmask\n", bitmaskname);
+
+ return bitmask;
+}
Index: linux-2.6.14-rt22/net/ipv4/tcp.c
===================================================================
--- linux-2.6.14-rt22.orig/net/ipv4/tcp.c 2005-12-21 16:49:59.000000000 -0500
+++ linux-2.6.14-rt22/net/ipv4/tcp.c 2005-12-21 17:31:07.000000000 -0500
@@ -2038,6 +2038,8 @@
}
__setup("thash_entries=", set_thash_entries);
+void *__init alloc_large_system_bitmask(char *bitmaskname,
+ unsigned long bits, int flags);
void __init tcp_init(void)
{
struct sk_buff *skb = NULL;
@@ -2071,6 +2073,10 @@
NULL,
0);
tcp_hashinfo.ehash_size = (1 << tcp_hashinfo.ehash_size) >> 1;
+ tcp_hashinfo.ebitmask =
+ alloc_large_system_bitmask("TCP established",
+ tcp_hashinfo.ehash_size,
+ HASH_HIGHMEM);
for (i = 0; i < (tcp_hashinfo.ehash_size << 1); i++) {
rwlock_init(&tcp_hashinfo.ehash[i].lock);
Index: linux-2.6.14-rt22/net/ipv4/tcp_ipv4.c
===================================================================
--- linux-2.6.14-rt22.orig/net/ipv4/tcp_ipv4.c 2005-12-21 17:08:20.000000000 -0500
+++ linux-2.6.14-rt22/net/ipv4/tcp_ipv4.c 2005-12-21 17:26:18.000000000 -0500
@@ -1590,7 +1590,12 @@
struct tcp_iter_state* st = seq->private;
void *rc = NULL;
- for (st->bucket = 0; st->bucket < tcp_hashinfo.ehash_size; ++st->bucket) {
+ for (st->bucket = find_first_bit(tcp_hashinfo.ebitmask,
+ tcp_hashinfo.ehash_size);
+ st->bucket < tcp_hashinfo.ehash_size;
+ st->bucket = find_next_bit(tcp_hashinfo.ebitmask,
+ tcp_hashinfo.ehash_size,
+ st->bucket+1)) {
struct sock *sk;
struct hlist_node *node;
struct inet_timewait_sock *tw;
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6.14-rt22 (and mainline): netstat -anop triggers excessive latencies
2005-12-21 22:37 ` Steven Rostedt
@ 2005-12-21 23:19 ` Lee Revell
2005-12-28 1:21 ` Lee Revell
1 sibling, 0 replies; 11+ messages in thread
From: Lee Revell @ 2005-12-21 23:19 UTC (permalink / raw)
To: Steven Rostedt; +Cc: Ingo Molnar, linux-kernel
On Wed, 2005-12-21 at 17:37 -0500, Steven Rostedt wrote:
> So it really does improve the latency here. Now is this worth the
> overhead? This might be useful in other places to.
Thanks, I'll try this.
But, AFAICT CONFIG_PREEMPT_SOFTIRQS is a much smaller patch... ;-)
Lee
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6.14-rt22 (and mainline): netstat -anop triggers excessive latencies
2005-12-21 22:37 ` Steven Rostedt
2005-12-21 23:19 ` Lee Revell
@ 2005-12-28 1:21 ` Lee Revell
2005-12-28 2:11 ` Steven Rostedt
1 sibling, 1 reply; 11+ messages in thread
From: Lee Revell @ 2005-12-28 1:21 UTC (permalink / raw)
To: Steven Rostedt; +Cc: Ingo Molnar, linux-kernel
On Wed, 2005-12-21 at 17:37 -0500, Steven Rostedt wrote:
> On Wed, 2005-12-21 at 01:04 -0500, Lee Revell wrote:
> > Here is a 13ms+ trace caused by "netstat -anop". I noticed that the
> > preempt count is 0 so there are no locks to drop, would adding a
> > cond_resched() be acceptable? Or should this be considered more
> > evidence of the need for softirq preemption?
> >
> > preemption latency trace v1.1.5 on 2.6.14-rt22
> > --------------------------------------------------------------------
> > latency: 13824 us, #16533/16533, CPU#0 | (M:preempt VP:0, KP:0, SP:0 HP:0)
> > -----------------
> > | task: softirq-timer/0-3 (uid:0 nice:0 policy:1 rt_prio:1)
> > -----------------
> >
> > _------=> CPU#
> > / _-----=> irqs-off
> > | / _----=> need-resched
> > || / _---=> hardirq/softirq
> > ||| / _--=> preempt-depth
> > |||| /
> > ||||| delay
> > cmd pid ||||| time | caller
> > \ / ||||| \ | /
> > netstat-29157 0D.h2 0us : __trace_start_sched_wakeup (try_to_wake_up)
> > netstat-29157 0D.h2 1us : __trace_start_sched_wakeup <<...>-3> (62 0)
> > netstat-29157 0D.h. 2us : wake_up_process (wakeup_softirqd)
>
> Hi Lee, I've seen the same thing here. I wrote up this patch as a case
> study to see if it can work and it does. Now this sacrifices memory for
> speed. I added a bitmask in the inet_hash to keep track of all the
> buckets that are used, and use the find_next_bit to search the list in
> established_get_first.
>
> After running the netstat -anop I get the following:
>
> preemption latency trace v1.1.5 on 2.6.14-rt22
> --------------------------------------------------------------------
> latency: 377 us, #225/225, CPU#0 | (M:preempt VP:0, KP:0, SP:0 HP:0)
> -----------------
> | task: softirq-timer/0-3 (uid:0 nice:0 policy:1 rt_prio:1)
> -----------------
>
> _------=> CPU#
> / _-----=> irqs-off
> | / _----=> need-resched
> || / _---=> hardirq/softirq
> ||| / _--=> preempt-depth
> |||| /
> ||||| delay
> cmd pid ||||| time | caller
> \ / ||||| \ | /
> <idle>-0 0D.h4 0us : __trace_start_sched_wakeup (try_to_wake_up)
> <idle>-0 0D.h4 0us : __trace_start_sched_wakeup <<...>-3> (62 0)
> <idle>-0 0Dnh3 0us : try_to_wake_up <<...>-3> (62 8c)
> <idle>-0 0Dnh2 1us : preempt_schedule (try_to_wake_up)
> <idle>-0 0Dnh2 1us : wake_up_process (wakeup_softirqd)
> [snip]
>
> So it really does improve the latency here. Now is this worth the
> overhead? This might be useful in other places to.
Any chance you can regenerate the patch against 2.6.15-rc5-rt4?
Lee
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6.14-rt22 (and mainline): netstat -anop triggers excessive latencies
2005-12-28 1:21 ` Lee Revell
@ 2005-12-28 2:11 ` Steven Rostedt
2005-12-28 2:22 ` Lee Revell
0 siblings, 1 reply; 11+ messages in thread
From: Steven Rostedt @ 2005-12-28 2:11 UTC (permalink / raw)
To: Lee Revell; +Cc: Ingo Molnar, linux-kernel
On Tue, 27 Dec 2005, Lee Revell wrote:
> > [snip]
> >
> > So it really does improve the latency here. Now is this worth the
> > overhead? This might be useful in other places to.
>
> Any chance you can regenerate the patch against 2.6.15-rc5-rt4?
>
Sure, if I can find the damn thing. Too many kernels, and too many patch
directories.
-- Steve
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6.14-rt22 (and mainline): netstat -anop triggers excessive latencies
2005-12-28 2:11 ` Steven Rostedt
@ 2005-12-28 2:22 ` Lee Revell
2005-12-28 2:30 ` Steven Rostedt
0 siblings, 1 reply; 11+ messages in thread
From: Lee Revell @ 2005-12-28 2:22 UTC (permalink / raw)
To: Steven Rostedt; +Cc: Ingo Molnar, linux-kernel
On Tue, 2005-12-27 at 21:11 -0500, Steven Rostedt wrote:
> On Tue, 27 Dec 2005, Lee Revell wrote:
>
> > > [snip]
> > >
> > > So it really does improve the latency here. Now is this worth the
> > > overhead? This might be useful in other places to.
> >
> > Any chance you can regenerate the patch against 2.6.15-rc5-rt4?
> >
>
> Sure, if I can find the damn thing. Too many kernels, and too many patch
> directories.
Never mind, I applied it by hand. I'll let you know how it works.
Lee
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6.14-rt22 (and mainline): netstat -anop triggers excessive latencies
2005-12-28 2:22 ` Lee Revell
@ 2005-12-28 2:30 ` Steven Rostedt
2005-12-28 17:33 ` Lee Revell
0 siblings, 1 reply; 11+ messages in thread
From: Steven Rostedt @ 2005-12-28 2:30 UTC (permalink / raw)
To: Lee Revell; +Cc: Ingo Molnar, linux-kernel
On Tue, 27 Dec 2005, Lee Revell wrote:
> On Tue, 2005-12-27 at 21:11 -0500, Steven Rostedt wrote:
> > On Tue, 27 Dec 2005, Lee Revell wrote:
> >
> > > > [snip]
> > > >
> > > > So it really does improve the latency here. Now is this worth the
> > > > overhead? This might be useful in other places to.
> > >
> > > Any chance you can regenerate the patch against 2.6.15-rc5-rt4?
> > >
> >
> > Sure, if I can find the damn thing. Too many kernels, and too many patch
> > directories.
>
> Never mind, I applied it by hand. I'll let you know how it works.
>
OK, I did find it though, and it only had one rej. So you probably can
easily do that change yourself.
Aw heck, here it is anyway. (look everybody, a patch pulled in with
pine!). Complements of quilt.
-- Steve
Index: linux-2.6.15-rc5-rt4/include/net/inet_hashtables.h
===================================================================
--- linux-2.6.15-rc5-rt4.orig/include/net/inet_hashtables.h 2005-12-14 14:37:00.000000000 -0500
+++ linux-2.6.15-rc5-rt4/include/net/inet_hashtables.h 2005-12-27 21:12:57.000000000 -0500
@@ -101,6 +101,7 @@
* is for TIME_WAIT sockets only.
*/
struct inet_ehash_bucket *ehash;
+ unsigned long *ebitmask;
/* Ok, let's try this, I give up, we do need a local binding
* TCP hash as well as the others for fast bind/connect.
@@ -155,6 +156,13 @@
return &hashinfo->ehash[hash & (hashinfo->ehash_size - 1)];
}
+static inline unsigned int inet_ehash_index(
+ struct inet_hashinfo *hashinfo,
+ unsigned int hash)
+{
+ return hash & (hashinfo->ehash_size - 1);
+}
+
extern struct inet_bind_bucket *
inet_bind_bucket_create(kmem_cache_t *cachep,
struct inet_bind_hashbucket *head,
@@ -227,11 +235,25 @@
wake_up(&hashinfo->lhash_wait);
}
+static inline void __inet_hash_setbit(unsigned long *bitmask, unsigned int index)
+{
+ if (bitmask)
+ set_bit(index, bitmask);
+}
+
+static inline void __inet_hash_clearbit(unsigned long *bitmask, unsigned int index)
+{
+ if (bitmask)
+ clear_bit(index, bitmask);
+}
+
static inline void __inet_hash(struct inet_hashinfo *hashinfo,
struct sock *sk, const int listen_possible)
{
struct hlist_head *list;
rwlock_t *lock;
+ unsigned long *bitmask = NULL;
+ unsigned int index = 0;
BUG_TRAP(sk_unhashed(sk));
if (listen_possible && sk->sk_state == TCP_LISTEN) {
@@ -241,12 +263,15 @@
} else {
struct inet_ehash_bucket *head;
sk->sk_hash = inet_sk_ehashfn(sk);
+ index = inet_ehash_index(hashinfo, sk->sk_hash);
head = inet_ehash_bucket(hashinfo, sk->sk_hash);
list = &head->chain;
lock = &head->lock;
+ bitmask = hashinfo->ebitmask;
write_lock(lock);
}
__sk_add_node(sk, list);
+ __inet_hash_setbit(bitmask, index);
sock_prot_inc_use(sk->sk_prot);
write_unlock(lock);
if (listen_possible && sk->sk_state == TCP_LISTEN)
@@ -265,6 +290,8 @@
static inline void inet_unhash(struct inet_hashinfo *hashinfo, struct sock *sk)
{
rwlock_t *lock;
+ unsigned long *bitmask = NULL;
+ unsigned int index = 0;
if (sk_unhashed(sk))
goto out;
@@ -274,12 +301,16 @@
inet_listen_wlock(hashinfo);
lock = &hashinfo->lhash_lock;
} else {
+ index = inet_ehash_index(hashinfo, sk->sk_hash);
lock = &inet_ehash_bucket(hashinfo, sk->sk_hash)->lock;
+ bitmask = hashinfo->ebitmask;
write_lock_bh(lock);
}
- if (__sk_del_node_init(sk))
+ if (__sk_del_node_init(sk)) {
+ __inet_hash_clearbit(bitmask, index);
sock_prot_dec_use(sk->sk_prot);
+ }
write_unlock_bh(lock);
out:
if (sk->sk_state == TCP_LISTEN)
Index: linux-2.6.15-rc5-rt4/mm/page_alloc.c
===================================================================
--- linux-2.6.15-rc5-rt4.orig/mm/page_alloc.c 2005-12-20 18:18:14.000000000 -0500
+++ linux-2.6.15-rc5-rt4/mm/page_alloc.c 2005-12-27 21:12:57.000000000 -0500
@@ -2664,3 +2664,30 @@
return table;
}
+
+void *__init alloc_large_system_bitmask(char *bitmaskname,
+ unsigned long bits, int flags)
+{
+ unsigned long words = bits / (sizeof(unsigned long)*8);
+ unsigned long size = words * sizeof(unsigned long);
+ unsigned long *bitmask = NULL;
+
+ if (flags & HASH_EARLY)
+ bitmask = alloc_bootmem(size);
+ else if (hashdist)
+ bitmask = __vmalloc(size, GFP_ATOMIC, PAGE_KERNEL);
+ else {
+ bitmask = kmalloc(size, GFP_ATOMIC);
+ if (!bitmask) {
+ unsigned long order;
+ for (order = 0; ((1UL << order) << PAGE_SHIFT) < size; order++)
+ ;
+ bitmask = (void*) __get_free_pages(GFP_ATOMIC, order);
+ }
+ }
+
+ if (!bitmask)
+ panic("Failed to allocate %s bitmask\n", bitmaskname);
+
+ return bitmask;
+}
Index: linux-2.6.15-rc5-rt4/net/ipv4/tcp.c
===================================================================
--- linux-2.6.15-rc5-rt4.orig/net/ipv4/tcp.c 2005-12-14 14:37:00.000000000 -0500
+++ linux-2.6.15-rc5-rt4/net/ipv4/tcp.c 2005-12-27 21:14:16.000000000 -0500
@@ -2039,6 +2039,8 @@
}
__setup("thash_entries=", set_thash_entries);
+void *__init alloc_large_system_bitmask(char *bitmaskname,
+ unsigned long bits, int flags);
void __init tcp_init(void)
{
struct sk_buff *skb = NULL;
@@ -2071,6 +2073,10 @@
NULL,
0);
tcp_hashinfo.ehash_size = (1 << tcp_hashinfo.ehash_size) >> 1;
+ tcp_hashinfo.ebitmask =
+ alloc_large_system_bitmask("TCP established",
+ tcp_hashinfo.ehash_size,
+ HASH_HIGHMEM);
for (i = 0; i < (tcp_hashinfo.ehash_size << 1); i++) {
rwlock_init(&tcp_hashinfo.ehash[i].lock);
INIT_HLIST_HEAD(&tcp_hashinfo.ehash[i].chain);
Index: linux-2.6.15-rc5-rt4/net/ipv4/tcp_ipv4.c
===================================================================
--- linux-2.6.15-rc5-rt4.orig/net/ipv4/tcp_ipv4.c 2005-12-20 18:18:14.000000000 -0500
+++ linux-2.6.15-rc5-rt4/net/ipv4/tcp_ipv4.c 2005-12-27 21:12:57.000000000 -0500
@@ -1581,7 +1581,12 @@
struct tcp_iter_state* st = seq->private;
void *rc = NULL;
- for (st->bucket = 0; st->bucket < tcp_hashinfo.ehash_size; ++st->bucket) {
+ for (st->bucket = find_first_bit(tcp_hashinfo.ebitmask,
+ tcp_hashinfo.ehash_size);
+ st->bucket < tcp_hashinfo.ehash_size;
+ st->bucket = find_next_bit(tcp_hashinfo.ebitmask,
+ tcp_hashinfo.ehash_size,
+ st->bucket+1)) {
struct sock *sk;
struct hlist_node *node;
struct inet_timewait_sock *tw;
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6.14-rt22 (and mainline): netstat -anop triggers excessive latencies
2005-12-28 2:30 ` Steven Rostedt
@ 2005-12-28 17:33 ` Lee Revell
2005-12-28 19:16 ` Steven Rostedt
0 siblings, 1 reply; 11+ messages in thread
From: Lee Revell @ 2005-12-28 17:33 UTC (permalink / raw)
To: Steven Rostedt; +Cc: Ingo Molnar, linux-kernel
On Tue, 2005-12-27 at 21:30 -0500, Steven Rostedt wrote:
> OK, I did find it though, and it only had one rej. So you probably can
> easily do that change yourself.
>
> Aw heck, here it is anyway. (look everybody, a patch pulled in with
> pine!). Complements of quilt.
Nope, does not help. We still do way too much work in softirq context.
preemption latency trace v1.1.5 on 2.6.15-rc5-rt4
--------------------------------------------------------------------
latency: 11184 us, #13458/13458, CPU#0 | (M:preempt VP:0, KP:0, SP:0 HP:0)
-----------------
| task: softirq-timer/0-3 (uid:0 nice:0 policy:1 rt_prio:1)
-----------------
_------=> CPU#
/ _-----=> irqs-off
| / _----=> need-resched
|| / _---=> hardirq/softirq
||| / _--=> preempt-depth
|||| /
||||| delay
cmd pid ||||| time | caller
\ / ||||| \ | /
netstat-6169 0D.h2 0us : __trace_start_sched_wakeup (try_to_wake_up)
netstat-6169 0D.h2 1us : __trace_start_sched_wakeup <<...>-3> (62 0)
netstat-6169 0D.h. 2us : wake_up_process (wakeup_softirqd)
netstat-6169 0D.h. 3us : scheduler_tick (update_process_times)
netstat-6169 0D.h. 3us : sched_clock (scheduler_tick)
netstat-6169 0D.h1 5us : task_timeslice (scheduler_tick)
netstat-6169 0D.h. 6us : run_posix_cpu_timers (update_process_times)
netstat-6169 0D.h1 7us : note_interrupt (__do_IRQ)
netstat-6169 0D.h1 7us : end_8259A_irq (__do_IRQ)
netstat-6169 0D.h1 8us+: enable_8259A_irq (end_8259A_irq)
netstat-6169 0DnH1 10us : irq_exit (do_IRQ)
netstat-6169 0Dns1 11us < (608)
netstat-6169 0.ns. 12us : preempt_schedule (established_get_first)
netstat-6169 0.ns. 13us : find_next_bit (established_get_first)
netstat-6169 0.ns. 13us : cond_resched_softirq (established_get_first)
netstat-6169 0.ns. 14us : preempt_schedule (established_get_first)
netstat-6169 0.ns. 15us : find_next_bit (established_get_first)
netstat-6169 0.ns. 16us : cond_resched_softirq (established_get_first)
netstat-6169 0.ns. 17us : preempt_schedule (established_get_first)
netstat-6169 0.ns. 17us : find_next_bit (established_get_first)
netstat-6169 0.ns. 18us : cond_resched_softirq (established_get_first)
netstat-6169 0.ns. 19us : preempt_schedule (established_get_first)
netstat-6169 0.ns. 20us : find_next_bit (established_get_first)
[...]
netstat-6169 0.ns. 11098us : cond_resched_softirq (established_get_next)
netstat-6169 0.ns. 11098us : preempt_schedule (established_get_next)
netstat-6169 0.ns. 11099us : cond_resched_softirq (established_get_next)
netstat-6169 0.ns. 11100us : preempt_schedule (established_get_next)
netstat-6169 0.ns. 11101us : cond_resched_softirq (established_get_next)
netstat-6169 0.ns. 11102us : preempt_schedule (established_get_next)
netstat-6169 0.ns. 11103us : cond_resched_softirq (established_get_next)
netstat-6169 0.ns. 11103us : preempt_schedule (established_get_next)
netstat-6169 0.ns. 11104us : cond_resched_softirq (established_get_next)
netstat-6169 0.ns. 11105us : preempt_schedule (established_get_next)
netstat-6169 0.ns. 11106us : cond_resched_softirq (established_get_next)
netstat-6169 0.ns. 11107us : preempt_schedule (established_get_next)
netstat-6169 0.ns. 11107us : cond_resched_softirq (established_get_next)
netstat-6169 0.ns. 11108us : preempt_schedule (established_get_next)
netstat-6169 0.ns. 11109us : cond_resched_softirq (established_get_next)
netstat-6169 0.ns. 11110us : preempt_schedule (established_get_next)
netstat-6169 0.ns. 11110us : cond_resched_softirq (established_get_next)
netstat-6169 0.ns. 11111us : preempt_schedule (established_get_next)
netstat-6169 0.ns. 11112us : cond_resched_softirq (established_get_next)
netstat-6169 0.ns. 11113us : preempt_schedule (established_get_next)
netstat-6169 0.ns. 11114us : cond_resched_softirq (established_get_next)
netstat-6169 0.ns. 11115us : tcp_seq_stop (seq_read)
netstat-6169 0.ns. 11115us : local_bh_enable (tcp_seq_stop)
netstat-6169 0.n.1 11116us : do_softirq (local_bh_enable)
netstat-6169 0D.s. 11118us : __do_softirq (do_softirq)
netstat-6169 0D.s. 11119us : ___do_softirq (__do_softirq)
netstat-6169 0..s. 11120us : run_timer_softirq (___do_softirq)
netstat-6169 0..s. 11122us : cond_resched_softirq (run_timer_softirq)
netstat-6169 0..s. 11123us : cond_resched_softirq (run_timer_softirq)
netstat-6169 0..s. 11124us : cond_resched_softirq (run_timer_softirq)
netstat-6169 0..s. 11125us : cond_resched_softirq (run_timer_softirq)
netstat-6169 0..s. 11126us : cond_resched_softirq (run_timer_softirq)
netstat-6169 0..s. 11127us : cond_resched_softirq (run_timer_softirq)
netstat-6169 0..s. 11128us : cond_resched_softirq (run_timer_softirq)
netstat-6169 0..s. 11129us : cond_resched_softirq (run_timer_softirq)
netstat-6169 0..s. 11129us : cond_resched_softirq (run_timer_softirq)
netstat-6169 0..s. 11130us : cond_resched_softirq (run_timer_softirq)
netstat-6169 0..s. 11131us : cond_resched_softirq (run_timer_softirq)
netstat-6169 0..s. 11132us : cond_resched_softirq (run_timer_softirq)
netstat-6169 0..s. 11133us : hrtimer_run_queues (run_timer_softirq)
netstat-6169 0..s. 11134us : get_realtime_clock (hrtimer_run_queues)
netstat-6169 0..s. 11136us : read_tsc (get_realtime_clock)
netstat-6169 0..s. 11137us : get_monotonic_clock (hrtimer_run_queues)
netstat-6169 0..s. 11138us+: read_tsc (get_monotonic_clock)
netstat-6169 0..s. 11142us : timeofday_periodic_hook (run_timer_softirq)
netstat-6169 0D.s1 11143us+: read_tsc (timeofday_periodic_hook)
netstat-6169 0D.s1 11146us+: ntp_advance (timeofday_periodic_hook)
netstat-6169 0D.s1 11150us : get_next_clocksource (timeofday_periodic_hook)
netstat-6169 0D.s1 11152us : tsc_update_callback (timeofday_periodic_hook)
netstat-6169 0D.s1 11153us : ntp_get_ppm_adjustment (timeofday_periodic_hook)
netstat-6169 0D.s1 11154us : update_legacy_time_values (timeofday_periodic_hook)
netstat-6169 0D.s2 11156us : set_normalized_timespec (update_legacy_time_values)
netstat-6169 0..s. 11157us : mod_timer (timeofday_periodic_hook)
netstat-6169 0..s. 11158us : __mod_timer (mod_timer)
netstat-6169 0..s. 11158us : lock_timer_base (__mod_timer)
netstat-6169 0D.s1 11160us : internal_add_timer (__mod_timer)
netstat-6169 0..s. 11161us : cond_resched_all (run_timer_softirq)
netstat-6169 0..s. 11162us : cond_resched_softirq (cond_resched_all)
netstat-6169 0..s. 11164us : __wake_up (run_timer_softirq)
netstat-6169 0D.s1 11164us : __wake_up_common (__wake_up)
netstat-6169 0..s. 11165us : cond_resched_all (___do_softirq)
netstat-6169 0..s. 11166us : cond_resched_softirq (cond_resched_all)
netstat-6169 0.n.. 11167us : preempt_schedule (local_bh_enable)
netstat-6169 0Dn.. 11168us : __schedule (preempt_schedule)
netstat-6169 0Dn.. 11169us : profile_hit (__schedule)
netstat-6169 0Dn.1 11170us+: sched_clock (__schedule)
<...>-3 0D..2 11176us+: __switch_to (__schedule)
<...>-3 0D..2 11179us : __schedule <netstat-6169> (75 62)
<...>-3 0...1 11180us : trace_stop_sched_switched (__schedule)
<...>-3 0D..2 11181us+: trace_stop_sched_switched <<...>-3> (62 0)
<...>-3 0D..2 11183us : trace_stop_sched_switched (__schedule)
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6.14-rt22 (and mainline): netstat -anop triggers excessive latencies
2005-12-28 17:33 ` Lee Revell
@ 2005-12-28 19:16 ` Steven Rostedt
2005-12-28 19:24 ` Steven Rostedt
0 siblings, 1 reply; 11+ messages in thread
From: Steven Rostedt @ 2005-12-28 19:16 UTC (permalink / raw)
To: Lee Revell; +Cc: Ingo Molnar, linux-kernel
On Wed, 28 Dec 2005, Lee Revell wrote:
> On Tue, 2005-12-27 at 21:30 -0500, Steven Rostedt wrote:
> > OK, I did find it though, and it only had one rej. So you probably can
> > easily do that change yourself.
> >
> > Aw heck, here it is anyway. (look everybody, a patch pulled in with
> > pine!). Complements of quilt.
>
> Nope, does not help. We still do way too much work in softirq context.
>
Are you still doing the 'netstat -anop'? And what does it look like. On
my test machine the max latency I get is 83 usecs.
-- Steve
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6.14-rt22 (and mainline): netstat -anop triggers excessive latencies
2005-12-28 19:16 ` Steven Rostedt
@ 2005-12-28 19:24 ` Steven Rostedt
2005-12-28 19:58 ` Lee Revell
0 siblings, 1 reply; 11+ messages in thread
From: Steven Rostedt @ 2005-12-28 19:24 UTC (permalink / raw)
To: Lee Revell; +Cc: Ingo Molnar, linux-kernel
On Wed, 28 Dec 2005, Steven Rostedt wrote:
>
> On Wed, 28 Dec 2005, Lee Revell wrote:
>
> > On Tue, 2005-12-27 at 21:30 -0500, Steven Rostedt wrote:
> > > OK, I did find it though, and it only had one rej. So you probably can
> > > easily do that change yourself.
> > >
> > > Aw heck, here it is anyway. (look everybody, a patch pulled in with
> > > pine!). Complements of quilt.
> >
> > Nope, does not help. We still do way too much work in softirq context.
> >
>
> Are you still doing the 'netstat -anop'? And what does it look like. On
> my test machine the max latency I get is 83 usecs.
>
Oh, try out 2.6.15-rc7-rt1, it has the patch as well. That's what I was
testing.
-- Steve
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: 2.6.14-rt22 (and mainline): netstat -anop triggers excessive latencies
2005-12-28 19:24 ` Steven Rostedt
@ 2005-12-28 19:58 ` Lee Revell
0 siblings, 0 replies; 11+ messages in thread
From: Lee Revell @ 2005-12-28 19:58 UTC (permalink / raw)
To: Steven Rostedt; +Cc: Ingo Molnar, linux-kernel
On Wed, 2005-12-28 at 14:24 -0500, Steven Rostedt wrote:
>
> On Wed, 28 Dec 2005, Steven Rostedt wrote:
>
> >
> > On Wed, 28 Dec 2005, Lee Revell wrote:
> >
> > > On Tue, 2005-12-27 at 21:30 -0500, Steven Rostedt wrote:
> > > > OK, I did find it though, and it only had one rej. So you probably can
> > > > easily do that change yourself.
> > > >
> > > > Aw heck, here it is anyway. (look everybody, a patch pulled in with
> > > > pine!). Complements of quilt.
> > >
> > > Nope, does not help. We still do way too much work in softirq context.
> > >
> >
> > Are you still doing the 'netstat -anop'? And what does it look like. On
> > my test machine the max latency I get is 83 usecs.
> >
>
> Oh, try out 2.6.15-rc7-rt1, it has the patch as well. That's what I was
> testing.
OK, I'll try that. Meanwhile here's the output:
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name Timer
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 3733/portmap off (0.00/0/0)
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 4119/pdnsd off (0.00/0/0)
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 4175/sshd off (0.00/0/0)
tcp 0 0 0.0.0.0:3128 0.0.0.0:* LISTEN 4226/(squid) off (0.00/0/0)
tcp 0 0 0.0.0.0:988 0.0.0.0:* LISTEN 4198/rpc.statd off (0.00/0/0)
tcp 0 0 127.0.0.1:3128 127.0.0.1:46440 ESTABLISHED4226/(squid) off (0.00/0/0)
tcp 0 679 192.168.0.186:52783 216.239.37.99:80 ESTABLISHED4226/(squid) on (1.44/0/0)
tcp 0 0 127.0.0.1:3128 127.0.0.1:46441 ESTABLISHED4226/(squid) off (0.00/0/0)
tcp 0 0 127.0.0.1:3128 127.0.0.1:46442 ESTABLISHED4226/(squid) off (0.00/0/0)
tcp 0 0 127.0.0.1:3128 127.0.0.1:46436 ESTABLISHED4226/(squid) off (0.00/0/0)
tcp 0 0 192.168.0.186:45773 216.239.37.147:80 ESTABLISHED4226/(squid) off (0.00/0/0)
tcp 0 0 127.0.0.1:46435 127.0.0.1:3128 ESTABLISHED7090/epiphany off (0.00/0/0)
tcp 0 0 127.0.0.1:46436 127.0.0.1:3128 ESTABLISHED7090/epiphany off (0.00/0/0)
tcp 0 0 127.0.0.1:46441 127.0.0.1:3128 ESTABLISHED7090/epiphany off (0.00/0/0)
tcp 0 0 127.0.0.1:46440 127.0.0.1:3128 ESTABLISHED7090/epiphany off (0.00/0/0)
tcp 0 0 127.0.0.1:46442 127.0.0.1:3128 ESTABLISHED7090/epiphany off (0.00/0/0)
tcp 0 689 192.168.0.186:44819 216.239.37.104:80 ESTABLISHED4226/(squid) on (81.35/4/0)
tcp 0 0 127.0.0.1:3128 127.0.0.1:46435 ESTABLISHED4226/(squid) off (0.00/0/0)
tcp 0 0 192.168.0.186:52674 216.239.37.147:80 ESTABLISHED4226/(squid) off (0.00/0/0)
tcp 0 0 192.168.0.186:40319 204.179.240.224:80 ESTABLISHED4226/(squid) off (0.00/0/0)
tcp 0 0 192.168.0.186:37416 207.245.101.66:110 ESTABLISHED6602/evolution-2.4 off (0.00/0/0)
udp 0 0 0.0.0.0:32770 0.0.0.0:* 4226/(squid) off (0.00/0/0)
udp 0 0 127.0.0.1:53 0.0.0.0:* 4119/pdnsd off (0.00/0/0)
udp 0 0 0.0.0.0:3130 0.0.0.0:* 4226/(squid) off (0.00/0/0)
udp 0 0 0.0.0.0:68 0.0.0.0:* 3714/dhclient off (0.00/0/0)
udp 0 0 0.0.0.0:982 0.0.0.0:* 4198/rpc.statd off (0.00/0/0)
udp 0 0 0.0.0.0:985 0.0.0.0:* 4198/rpc.statd off (0.00/0/0)
udp 0 0 0.0.0.0:111 0.0.0.0:* 3733/portmap off (0.00/0/0)
udp 0 0 192.168.0.186:123 0.0.0.0:* 4213/ntpd off (0.00/0/0)
udp 0 0 127.0.0.1:123 0.0.0.0:* 4213/ntpd off (0.00/0/0)
udp 0 0 0.0.0.0:123 0.0.0.0:* 4213/ntpd off (0.00/0/0)
raw 0 0 0.0.0.0:1 0.0.0.0:* 7 4119/pdnsd off (0.00/0/0)
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node PID/Program name Path
unix 2 [ ACC ] STREAM LISTENING 8199 4405/gnome-panel /tmp/orbit-rlrevell/linc-1135-0-75aee2989367b
unix 2 [ ACC ] STREAM LISTENING 7798 4362/dbus-daemon @/tmp/dbus-kRDDuSrN1q
unix 2 [ ACC ] STREAM LISTENING 7438 4186/xfs /tmp/.font-unix/fs7100
unix 2 [ ACC ] STREAM LISTENING 22817 6624/evolution-alar /tmp/orbit-rlrevell/linc-19e0-0-418a226b84ab1
unix 2 [ ACC ] STREAM LISTENING 8232 4410/nautilus /tmp/orbit-rlrevell/linc-113a-0-20dcab1dc9146
unix 2 [ ACC ] STREAM LISTENING 22837 6627/evolution-data /tmp/orbit-rlrevell/linc-19e3-0-418a226bed67c
unix 2 [ ACC ] STREAM LISTENING 6824 4032/hald @/tmp/hald-local/dbus-UBJ3XWbS5r
unix 2 [ ACC ] STREAM LISTENING 6716 3961/X /tmp/.X11-unix/X0
unix 2 [ ACC ] STREAM LISTENING 8263 4426/wnck-applet /tmp/orbit-rlrevell/linc-114a-0-126d407ed6dcb
unix 2 [ ACC ] STREAM LISTENING 6804 4017/dbus-daemon /var/run/dbus/system_bus_socket
unix 2 [ ACC ] STREAM LISTENING 8278 4429/gnome-vfs-daem /tmp/orbit-rlrevell/linc-114d-0-5fd29980f3c38
unix 2 [ ACC ] STREAM LISTENING 7356 4119/pdnsd /var/cache/pdnsd/pdnsd.status
unix 2 [ ACC ] STREAM LISTENING 6499 3914/gdm /tmp/.gdm_socket
unix 2 [ ACC ] STREAM LISTENING 8038 4296/x-session-mana /tmp/.ICE-unix/4296
unix 2 [ ACC ] STREAM LISTENING 7790 4357/ssh-agent /tmp/ssh-xSlHgN4296/agent.4296
unix 2 [ ACC ] STREAM LISTENING 8047 4372/gnome-keyring- /tmp/keyring-CUdodH/socket
unix 2 [ ACC ] STREAM LISTENING 7793 4358/ssh-agent /tmp/ssh-TlyMwW4296/agent.4296
unix 2 [ ACC ] STREAM LISTENING 8563 4449/clock-applet /tmp/orbit-rlrevell/linc-1161-0-5fbb14bfadfe1
unix 5 [ ] DGRAM 12665 5224/syslogd /dev/log
unix 2 [ ACC ] STREAM LISTENING 8059 4374/bonobo-activat /tmp/orbit-rlrevell/linc-1116-0-3300a4bb6a4e4
unix 2 [ ACC ] STREAM LISTENING 8325 4435/mapping-daemon /tmp/mapping-rlrevell
unix 2 [ ACC ] STREAM LISTENING 7817 4364/gconfd-2 /tmp/orbit-rlrevell/linc-110c-0-2626af2ccf5c
unix 2 [ ACC ] STREAM LISTENING 8081 4376/metacity /tmp/orbit-rlrevell/linc-1118-0-5420b519e2d9
unix 2 [ ACC ] STREAM LISTENING 7827 4296/x-session-mana /tmp/orbit-rlrevell/linc-10c8-0-1f3d77523943b
unix 2 [ ACC ] STREAM LISTENING 8096 4378/gnome-settings /tmp/orbit-rlrevell/linc-111a-0-4c7b8685621
unix 2 [ ] DGRAM 3191 1704/udevd @udevd
unix 2 [ ACC ] STREAM LISTENING 8107 4381/gam_server @/tmp/fam-rlrevell-
unix 2 [ ] DGRAM 6825 4032/hald @/var/run/hal/hotplug_socket2
unix 2 [ ACC ] STREAM LISTENING 22718 6602/evolution-2.4 /tmp/orbit-rlrevell/linc-19ca-0-b33d517def1
unix 2 [ ACC ] STREAM LISTENING 24819 7090/epiphany /tmp/orbit-rlrevell/linc-1bb2-0-2751674193866
unix 2 [ ] DGRAM 25181 7118/su
unix 3 [ ] STREAM CONNECTED 24826 7090/epiphany /tmp/orbit-rlrevell/linc-1bb2-0-2751674193866
unix 3 [ ] STREAM CONNECTED 24825 4374/bonobo-activat
unix 3 [ ] STREAM CONNECTED 24824 4374/bonobo-activat /tmp/orbit-rlrevell/linc-1116-0-3300a4bb6a4e4
unix 3 [ ] STREAM CONNECTED 24823 7090/epiphany
unix 3 [ ] STREAM CONNECTED 24822 7090/epiphany /tmp/orbit-rlrevell/linc-1bb2-0-2751674193866
unix 3 [ ] STREAM CONNECTED 24821 4364/gconfd-2
unix 3 [ ] STREAM CONNECTED 24818 4364/gconfd-2 /tmp/orbit-rlrevell/linc-110c-0-2626af2ccf5c
unix 3 [ ] STREAM CONNECTED 24817 7090/epiphany
unix 3 [ ] STREAM CONNECTED 24816 4296/x-session-mana /tmp/.ICE-unix/4296
unix 3 [ ] STREAM CONNECTED 24815 7090/epiphany
unix 3 [ ] STREAM CONNECTED 24811 3961/X /tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 24810 7090/epiphany
unix 3 [ ] STREAM CONNECTED 23157 6627/evolution-data /tmp/orbit-rlrevell/linc-19e3-0-418a226bed67c
unix 3 [ ] STREAM CONNECTED 23156 6602/evolution-2.4
unix 3 [ ] STREAM CONNECTED 23153 6602/evolution-2.4 /tmp/orbit-rlrevell/linc-19ca-0-b33d517def1
unix 3 [ ] STREAM CONNECTED 23150 6627/evolution-data
unix 3 [ ] STREAM CONNECTED 22855 6624/evolution-alar /tmp/orbit-rlrevell/linc-19e0-0-418a226b84ab1
unix 3 [ ] STREAM CONNECTED 22854 6627/evolution-data
unix 3 [ ] STREAM CONNECTED 22853 6627/evolution-data /tmp/orbit-rlrevell/linc-19e3-0-418a226bed67c
unix 3 [ ] STREAM CONNECTED 22852 6624/evolution-alar
unix 3 [ ] STREAM CONNECTED 22851 6627/evolution-data /tmp/orbit-rlrevell/linc-19e3-0-418a226bed67c
unix 3 [ ] STREAM CONNECTED 22849 4374/bonobo-activat
unix 3 [ ] STREAM CONNECTED 22848 4374/bonobo-activat /tmp/orbit-rlrevell/linc-1116-0-3300a4bb6a4e4
unix 3 [ ] STREAM CONNECTED 22847 6627/evolution-data
unix 3 [ ] STREAM CONNECTED 22840 6627/evolution-data /tmp/orbit-rlrevell/linc-19e3-0-418a226bed67c
unix 3 [ ] STREAM CONNECTED 22839 4364/gconfd-2
unix 3 [ ] STREAM CONNECTED 22836 4364/gconfd-2 /tmp/orbit-rlrevell/linc-110c-0-2626af2ccf5c
unix 3 [ ] STREAM CONNECTED 22835 6627/evolution-data
unix 3 [ ] STREAM CONNECTED 22824 6624/evolution-alar /tmp/orbit-rlrevell/linc-19e0-0-418a226b84ab1
unix 3 [ ] STREAM CONNECTED 22823 4374/bonobo-activat
unix 3 [ ] STREAM CONNECTED 22822 4374/bonobo-activat /tmp/orbit-rlrevell/linc-1116-0-3300a4bb6a4e4
unix 3 [ ] STREAM CONNECTED 22821 6624/evolution-alar
unix 3 [ ] STREAM CONNECTED 22820 6624/evolution-alar /tmp/orbit-rlrevell/linc-19e0-0-418a226b84ab1
unix 3 [ ] STREAM CONNECTED 22819 4364/gconfd-2
unix 3 [ ] STREAM CONNECTED 22816 4364/gconfd-2 /tmp/orbit-rlrevell/linc-110c-0-2626af2ccf5c
unix 3 [ ] STREAM CONNECTED 22815 6624/evolution-alar
unix 3 [ ] STREAM CONNECTED 22814 4296/x-session-mana /tmp/.ICE-unix/4296
unix 3 [ ] STREAM CONNECTED 22813 6624/evolution-alar
unix 3 [ ] STREAM CONNECTED 22809 3961/X /tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 22808 6624/evolution-alar
unix 3 [ ] STREAM CONNECTED 22725 6602/evolution-2.4 /tmp/orbit-rlrevell/linc-19ca-0-b33d517def1
unix 3 [ ] STREAM CONNECTED 22724 4374/bonobo-activat
unix 3 [ ] STREAM CONNECTED 22723 4374/bonobo-activat /tmp/orbit-rlrevell/linc-1116-0-3300a4bb6a4e4
unix 3 [ ] STREAM CONNECTED 22722 6602/evolution-2.4
unix 3 [ ] STREAM CONNECTED 22721 6602/evolution-2.4 /tmp/orbit-rlrevell/linc-19ca-0-b33d517def1
unix 3 [ ] STREAM CONNECTED 22720 4364/gconfd-2
unix 3 [ ] STREAM CONNECTED 22717 4364/gconfd-2 /tmp/orbit-rlrevell/linc-110c-0-2626af2ccf5c
unix 3 [ ] STREAM CONNECTED 22716 6602/evolution-2.4
unix 3 [ ] STREAM CONNECTED 22715 4296/x-session-mana /tmp/.ICE-unix/4296
unix 3 [ ] STREAM CONNECTED 22714 6602/evolution-2.4
unix 3 [ ] STREAM CONNECTED 22710 3961/X /tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 22709 6602/evolution-2.4
unix 2 [ ] DGRAM 18248 4003/klogd
unix 2 [ ] DGRAM 12726 3714/dhclient
unix 3 [ ] STREAM CONNECTED 9737 4296/x-session-mana /tmp/.ICE-unix/4296
unix 3 [ ] STREAM CONNECTED 9736 4562/xterm
unix 3 [ ] STREAM CONNECTED 9735 3961/X /tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 9734 4562/xterm
unix 3 [ ] STREAM CONNECTED 8582 4405/gnome-panel /tmp/orbit-rlrevell/linc-1135-0-75aee2989367b
unix 3 [ ] STREAM CONNECTED 8581 4449/clock-applet
unix 3 [ ] STREAM CONNECTED 8580 4449/clock-applet /tmp/orbit-rlrevell/linc-1161-0-5fbb14bfadfe1
unix 3 [ ] STREAM CONNECTED 8579 4405/gnome-panel
unix 3 [ ] STREAM CONNECTED 8576 4296/x-session-mana /tmp/.ICE-unix/4296
unix 3 [ ] STREAM CONNECTED 8575 4447/xterm
unix 3 [ ] STREAM CONNECTED 8570 4449/clock-applet /tmp/orbit-rlrevell/linc-1161-0-5fbb14bfadfe1
unix 3 [ ] STREAM CONNECTED 8569 4374/bonobo-activat
unix 3 [ ] STREAM CONNECTED 8568 4374/bonobo-activat /tmp/orbit-rlrevell/linc-1116-0-3300a4bb6a4e4
unix 3 [ ] STREAM CONNECTED 8567 4449/clock-applet
unix 3 [ ] STREAM CONNECTED 8566 4449/clock-applet /tmp/orbit-rlrevell/linc-1161-0-5fbb14bfadfe1
unix 3 [ ] STREAM CONNECTED 8565 4364/gconfd-2
unix 3 [ ] STREAM CONNECTED 8562 4364/gconfd-2 /tmp/orbit-rlrevell/linc-110c-0-2626af2ccf5c
unix 3 [ ] STREAM CONNECTED 8561 4449/clock-applet
unix 3 [ ] STREAM CONNECTED 8557 3961/X /tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 8556 4447/xterm
unix 3 [ ] STREAM CONNECTED 8550 3961/X /tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 8549 4449/clock-applet
unix 3 [ ] STREAM CONNECTED 8331 4381/gam_server @/tmp/fam-rlrevell-
unix 3 [ ] STREAM CONNECTED 8330 4405/gnome-panel
unix 3 [ ] STREAM CONNECTED 8329 4435/mapping-daemon /tmp/mapping-rlrevell
unix 3 [ ] STREAM CONNECTED 8321 4410/nautilus
unix 3 [ ] STREAM CONNECTED 8320 4405/gnome-panel /tmp/orbit-rlrevell/linc-1135-0-75aee2989367b
unix 3 [ ] STREAM CONNECTED 8319 4429/gnome-vfs-daem
unix 3 [ ] STREAM CONNECTED 8318 4429/gnome-vfs-daem /tmp/orbit-rlrevell/linc-114d-0-5fd29980f3c38
unix 3 [ ] STREAM CONNECTED 8317 4405/gnome-panel
unix 3 [ ] STREAM CONNECTED 8312 4381/gam_server @/tmp/fam-rlrevell-
unix 3 [ ] STREAM CONNECTED 8311 4405/gnome-panel
unix 3 [ ] STREAM CONNECTED 8309 4405/gnome-panel /tmp/orbit-rlrevell/linc-1135-0-75aee2989367b
unix 3 [ ] STREAM CONNECTED 8308 4426/wnck-applet
unix 3 [ ] STREAM CONNECTED 8307 4426/wnck-applet /tmp/orbit-rlrevell/linc-114a-0-126d407ed6dcb
unix 3 [ ] STREAM CONNECTED 8306 4405/gnome-panel
unix 3 [ ] STREAM CONNECTED 8299 4410/nautilus /tmp/orbit-rlrevell/linc-113a-0-20dcab1dc9146
unix 3 [ ] STREAM CONNECTED 8298 4429/gnome-vfs-daem
unix 3 [ ] STREAM CONNECTED 8297 4429/gnome-vfs-daem /tmp/orbit-rlrevell/linc-114d-0-5fd29980f3c38
unix 3 [ ] STREAM CONNECTED 8296 4410/nautilus
unix 3 [ ] STREAM CONNECTED 8293 4429/gnome-vfs-daem /tmp/orbit-rlrevell/linc-114d-0-5fd29980f3c38
unix 3 [ ] STREAM CONNECTED 8292 4374/bonobo-activat
unix 3 [ ] STREAM CONNECTED 8291 4374/bonobo-activat /tmp/orbit-rlrevell/linc-1116-0-3300a4bb6a4e4
unix 3 [ ] STREAM CONNECTED 8290 4429/gnome-vfs-daem
unix 3 [ ] STREAM CONNECTED 8285 4381/gam_server @/tmp/fam-rlrevell-
unix 3 [ ] STREAM CONNECTED 8284 4429/gnome-vfs-daem
unix 3 [ ] STREAM CONNECTED 8283 4017/dbus-daemon /var/run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 8282 4429/gnome-vfs-daem
unix 3 [ ] STREAM CONNECTED 8281 4429/gnome-vfs-daem /tmp/orbit-rlrevell/linc-114d-0-5fd29980f3c38
unix 3 [ ] STREAM CONNECTED 8280 4364/gconfd-2
unix 3 [ ] STREAM CONNECTED 8277 4364/gconfd-2 /tmp/orbit-rlrevell/linc-110c-0-2626af2ccf5c
unix 3 [ ] STREAM CONNECTED 8276 4429/gnome-vfs-daem
unix 3 [ ] STREAM CONNECTED 8275 4426/wnck-applet /tmp/orbit-rlrevell/linc-114a-0-126d407ed6dcb
unix 3 [ ] STREAM CONNECTED 8274 4374/bonobo-activat
unix 3 [ ] STREAM CONNECTED 8273 4374/bonobo-activat /tmp/orbit-rlrevell/linc-1116-0-3300a4bb6a4e4
unix 3 [ ] STREAM CONNECTED 8272 4426/wnck-applet
unix 3 [ ] STREAM CONNECTED 8268 4426/wnck-applet /tmp/orbit-rlrevell/linc-114a-0-126d407ed6dcb
unix 3 [ ] STREAM CONNECTED 8265 4364/gconfd-2
unix 3 [ ] STREAM CONNECTED 8262 4364/gconfd-2 /tmp/orbit-rlrevell/linc-110c-0-2626af2ccf5c
unix 3 [ ] STREAM CONNECTED 8261 4426/wnck-applet
unix 3 [ ] STREAM CONNECTED 8257 3961/X /tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 8256 4426/wnck-applet
unix 3 [ ] STREAM CONNECTED 8250 4410/nautilus /tmp/orbit-rlrevell/linc-113a-0-20dcab1dc9146
unix 3 [ ] STREAM CONNECTED 8249 4374/bonobo-activat
unix 3 [ ] STREAM CONNECTED 8248 4374/bonobo-activat /tmp/orbit-rlrevell/linc-1116-0-3300a4bb6a4e4
unix 3 [ ] STREAM CONNECTED 8247 4410/nautilus
unix 3 [ ] STREAM CONNECTED 8242 4381/gam_server @/tmp/fam-rlrevell-
unix 3 [ ] STREAM CONNECTED 8241 4410/nautilus
unix 3 [ ] STREAM CONNECTED 8235 4410/nautilus /tmp/orbit-rlrevell/linc-113a-0-20dcab1dc9146
unix 3 [ ] STREAM CONNECTED 8234 4364/gconfd-2
unix 3 [ ] STREAM CONNECTED 8231 4364/gconfd-2 /tmp/orbit-rlrevell/linc-110c-0-2626af2ccf5c
unix 3 [ ] STREAM CONNECTED 8228 4410/nautilus
unix 3 [ ] STREAM CONNECTED 8227 4296/x-session-mana /tmp/.ICE-unix/4296
unix 3 [ ] STREAM CONNECTED 8226 4410/nautilus
unix 3 [ ] STREAM CONNECTED 8221 3961/X /tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 8220 4410/nautilus
unix 3 [ ] STREAM CONNECTED 8206 4405/gnome-panel /tmp/orbit-rlrevell/linc-1135-0-75aee2989367b
unix 3 [ ] STREAM CONNECTED 8205 4374/bonobo-activat
unix 3 [ ] STREAM CONNECTED 8204 4374/bonobo-activat /tmp/orbit-rlrevell/linc-1116-0-3300a4bb6a4e4
unix 3 [ ] STREAM CONNECTED 8203 4405/gnome-panel
unix 3 [ ] STREAM CONNECTED 8202 4405/gnome-panel /tmp/orbit-rlrevell/linc-1135-0-75aee2989367b
unix 3 [ ] STREAM CONNECTED 8201 4364/gconfd-2
unix 3 [ ] STREAM CONNECTED 8198 4364/gconfd-2 /tmp/orbit-rlrevell/linc-110c-0-2626af2ccf5c
unix 3 [ ] STREAM CONNECTED 8197 4405/gnome-panel
unix 3 [ ] STREAM CONNECTED 8196 4296/x-session-mana /tmp/.ICE-unix/4296
unix 3 [ ] STREAM CONNECTED 8195 4405/gnome-panel
unix 3 [ ] STREAM CONNECTED 8191 3961/X /tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 8190 4405/gnome-panel
unix 3 [ ] STREAM CONNECTED 8170 4378/gnome-settings /tmp/orbit-rlrevell/linc-111a-0-4c7b8685621
unix 3 [ ] STREAM CONNECTED 8160 4296/x-session-mana
unix 3 [ ] STREAM CONNECTED 8151 4378/gnome-settings /tmp/orbit-rlrevell/linc-111a-0-4c7b8685621
unix 3 [ ] STREAM CONNECTED 8150 4374/bonobo-activat
unix 3 [ ] STREAM CONNECTED 8149 4374/bonobo-activat /tmp/orbit-rlrevell/linc-1116-0-3300a4bb6a4e4
unix 3 [ ] STREAM CONNECTED 8148 4378/gnome-settings
unix 3 [ ] STREAM CONNECTED 8141 3961/X /tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 8140 4393/xscreensaver
unix 3 [ ] STREAM CONNECTED 8109 4381/gam_server @/tmp/fam-rlrevell-
unix 3 [ ] STREAM CONNECTED 8108 4378/gnome-settings
unix 3 [ ] STREAM CONNECTED 8159 4296/x-session-mana /tmp/.ICE-unix/4296
unix 3 [ ] STREAM CONNECTED 8100 4376/metacity
unix 3 [ ] STREAM CONNECTED 8099 4378/gnome-settings /tmp/orbit-rlrevell/linc-111a-0-4c7b8685621
unix 3 [ ] STREAM CONNECTED 8098 4364/gconfd-2
unix 3 [ ] STREAM CONNECTED 8095 4364/gconfd-2 /tmp/orbit-rlrevell/linc-110c-0-2626af2ccf5c
unix 3 [ ] STREAM CONNECTED 8094 4378/gnome-settings
unix 3 [ ] STREAM CONNECTED 8091 3961/X /tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 8090 4376/metacity
unix 3 [ ] STREAM CONNECTED 8088 3961/X /tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 8087 4378/gnome-settings
unix 3 [ ] STREAM CONNECTED 8084 4376/metacity /tmp/orbit-rlrevell/linc-1118-0-5420b519e2d9
unix 3 [ ] STREAM CONNECTED 8083 4364/gconfd-2
unix 3 [ ] STREAM CONNECTED 8080 4364/gconfd-2 /tmp/orbit-rlrevell/linc-110c-0-2626af2ccf5c
unix 3 [ ] STREAM CONNECTED 8079 4376/metacity
unix 3 [ ] STREAM CONNECTED 8065 4296/x-session-mana /tmp/orbit-rlrevell/linc-10c8-0-1f3d77523943b
unix 3 [ ] STREAM CONNECTED 8064 4374/bonobo-activat
unix 3 [ ] STREAM CONNECTED 8063 4374/bonobo-activat /tmp/orbit-rlrevell/linc-1116-0-3300a4bb6a4e4
unix 3 [ ] STREAM CONNECTED 8062 4296/x-session-mana
unix 2 [ ] DGRAM 8025 4370/ntpd
unix 3 [ ] STREAM CONNECTED 8017 4296/x-session-mana /tmp/orbit-rlrevell/linc-10c8-0-1f3d77523943b
unix 3 [ ] STREAM CONNECTED 8016 4364/gconfd-2
unix 3 [ ] STREAM CONNECTED 8015 4364/gconfd-2 /tmp/orbit-rlrevell/linc-110c-0-2626af2ccf5c
unix 3 [ ] STREAM CONNECTED 7826 4296/x-session-mana
unix 2 [ ] DGRAM 7812 4364/gconfd-2
unix 3 [ ] STREAM CONNECTED 7806 3961/X /tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 7805 4296/x-session-mana
unix 3 [ ] STREAM CONNECTED 7802 4362/dbus-daemon
unix 3 [ ] STREAM CONNECTED 7801 4362/dbus-daemon
unix 3 [ ] STREAM CONNECTED 7800 3961/X /tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 7799 4361/dbus-launch
unix 2 [ ] DGRAM 7526 4226/(squid)
unix 2 [ ] DGRAM 7523 4224/squid
unix 2 [ ] DGRAM 7492 4213/ntpd
unix 2 [ ] DGRAM 7462 4198/rpc.statd
unix 3 [ ] STREAM CONNECTED 7240 4017/dbus-daemon /var/run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 7239 4032/hald
unix 3 [ ] STREAM CONNECTED 6808 4017/dbus-daemon
unix 3 [ ] STREAM CONNECTED 6807 4017/dbus-daemon
unix 8 [ ] STREAM CONNECTED 7314 3961/X /tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 6730 3917/gdm
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2005-12-28 19:57 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-12-21 6:04 2.6.14-rt22 (and mainline): netstat -anop triggers excessive latencies Lee Revell
2005-12-21 22:37 ` Steven Rostedt
2005-12-21 23:19 ` Lee Revell
2005-12-28 1:21 ` Lee Revell
2005-12-28 2:11 ` Steven Rostedt
2005-12-28 2:22 ` Lee Revell
2005-12-28 2:30 ` Steven Rostedt
2005-12-28 17:33 ` Lee Revell
2005-12-28 19:16 ` Steven Rostedt
2005-12-28 19:24 ` Steven Rostedt
2005-12-28 19:58 ` Lee Revell
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox