Eric Dumazet
81c3d5470e
[INET]: speedup inet (tcp/dccp) lookups
...
Arnaldo and I agreed it could be applied now, because I have other
pending patches depending on this one (Thank you Arnaldo)
(The other important patch moves skc_refcnt in a separate cache line,
so that the SMP/NUMA performance doesnt suffer from cache line ping pongs)
1) First some performance data :
--------------------------------
tcp_v4_rcv() wastes a *lot* of time in __inet_lookup_established()
The most time critical code is :
sk_for_each(sk, node, &head->chain) {
if (INET_MATCH(sk, acookie, saddr, daddr, ports, dif))
goto hit; /* You sunk my battleship! */
}
The sk_for_each() does use prefetch() hints but only the begining of
"struct sock" is prefetched.
As INET_MATCH first comparison uses inet_sk(__sk)->daddr, wich is far
away from the begining of "struct sock", it has to bring into CPU
cache cold cache line. Each iteration has to use at least 2 cache
lines.
This can be problematic if some chains are very long.
2) The goal
-----------
The idea I had is to change things so that INET_MATCH() may return
FALSE in 99% of cases only using the data already in the CPU cache,
using one cache line per iteration.
3) Description of the patch
---------------------------
Adds a new 'unsigned int skc_hash' field in 'struct sock_common',
filling a 32 bits hole on 64 bits platform.
struct sock_common {
unsigned short skc_family;
volatile unsigned char skc_state;
unsigned char skc_reuse;
int skc_bound_dev_if;
struct hlist_node skc_node;
struct hlist_node skc_bind_node;
atomic_t skc_refcnt;
+ unsigned int skc_hash;
struct proto *skc_prot;
};
Store in this 32 bits field the full hash, not masked by (ehash_size -
1) Using this full hash as the first comparison done in INET_MATCH
permits us immediatly skip the element without touching a second cache
line in case of a miss.
Suppress the sk_hashent/tw_hashent fields since skc_hash (aliased to
sk_hash and tw_hash) already contains the slot number if we mask with
(ehash_size - 1)
File include/net/inet_hashtables.h
64 bits platforms :
#define INET_MATCH(__sk, __hash, __cookie, __saddr, __daddr, __ports, __dif)\
(((__sk)->sk_hash == (__hash))
((*((__u64 *)&(inet_sk(__sk)->daddr)))== (__cookie)) && \
((*((__u32 *)&(inet_sk(__sk)->dport))) == (__ports)) && \
(!((__sk)->sk_bound_dev_if) || ((__sk)->sk_bound_dev_if == (__dif))))
32bits platforms:
#define TCP_IPV4_MATCH(__sk, __hash, __cookie, __saddr, __daddr, __ports, __dif)\
(((__sk)->sk_hash == (__hash)) && \
(inet_sk(__sk)->daddr == (__saddr)) && \
(inet_sk(__sk)->rcv_saddr == (__daddr)) && \
(!((__sk)->sk_bound_dev_if) || ((__sk)->sk_bound_dev_if == (__dif))))
- Adds a prefetch(head->chain.first) in
__inet_lookup_established()/__tcp_v4_check_established() and
__inet6_lookup_established()/__tcp_v6_check_established() and
__dccp_v4_check_established() to bring into cache the first element of the
list, before the {read|write}_lock(&head->lock);
Signed-off-by: Eric Dumazet <dada1@cosmosbay.com >
Acked-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net >
Signed-off-by: David S. Miller <davem@davemloft.net >
2005-10-03 14:13:38 -07:00
..
2005-09-19 19:57:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-06-22 16:07:42 -04:00
2005-09-08 22:46:00 +01:00
2005-07-07 16:50:16 +02:00
2005-08-29 16:00:54 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-26 15:25:11 -07:00
2005-09-19 15:34:40 -07:00
2005-09-13 08:22:31 -07:00
2005-09-09 16:39:12 -07:00
2005-09-07 16:57:25 -07:00
2005-04-24 20:10:16 -07:00
2005-10-03 14:13:38 -07:00
2005-07-27 11:41:18 +01:00
2005-06-25 16:25:02 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-08-25 12:40:44 -04:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-30 12:41:17 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-06-21 19:07:41 -07:00
2005-08-29 15:59:42 -04:00
2005-06-26 15:28:10 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-08-30 22:44:20 -05:00
2005-07-13 15:25:59 +01:00
2005-06-21 19:07:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-07 16:57:21 -07:00
2005-05-05 16:36:31 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-09 13:57:32 -07:00
2005-06-23 09:45:26 -07:00
2005-09-10 10:06:35 -07:00
2005-09-10 10:06:21 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-10 10:06:34 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-06-25 16:24:52 -07:00
2005-04-16 15:20:36 -07:00
2005-07-07 18:23:45 -07:00
2005-07-10 15:45:11 -07:00
2005-09-05 00:05:44 -07:00
2005-04-16 15:20:36 -07:00
2005-06-27 15:11:48 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-10 10:16:27 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-07-04 13:23:45 -07:00
2005-09-07 16:57:19 -07:00
2005-05-01 08:58:54 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-05-01 08:59:03 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-26 15:06:50 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-02 00:57:31 -07:00
2005-07-07 18:23:43 -07:00
2005-04-16 15:20:36 -07:00
2005-09-07 16:57:40 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-06-25 16:24:53 -07:00
2005-09-12 08:48:08 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-01 17:43:05 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-07 16:57:41 -07:00
2005-09-18 00:19:32 -07:00
2005-08-01 21:37:59 -07:00
2005-04-18 21:57:34 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-22 07:58:24 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-05-15 18:31:07 -04:00
2005-04-16 15:20:36 -07:00
2005-06-17 20:37:11 -05:00
2005-09-10 10:06:29 -07:00
2005-09-12 10:50:58 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-06-24 00:05:19 -07:00
2005-06-24 00:05:19 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-05-01 08:58:51 -07:00
2005-04-16 15:20:36 -07:00
2005-09-05 00:06:09 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-06-27 14:33:29 -07:00
2005-04-16 15:20:36 -07:00
2005-09-07 16:57:21 -07:00
2005-04-16 15:20:36 -07:00
2005-05-19 22:43:37 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-07-13 16:23:51 -04:00
2005-08-29 16:02:44 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-07 16:57:23 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-07 16:57:23 -07:00
2005-06-24 00:05:20 -07:00
2005-07-13 11:25:24 -07:00
2005-09-13 08:22:32 -07:00
2005-04-16 15:20:36 -07:00
2005-06-23 09:45:28 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-07-12 12:08:43 -07:00
2005-04-16 15:20:36 -07:00
2005-09-09 13:57:55 -07:00
2005-04-16 15:20:36 -07:00
2005-09-07 16:57:26 -07:00
2005-04-16 15:20:36 -07:00
2005-09-13 08:22:32 -07:00
2005-04-16 15:20:36 -07:00
2005-09-10 10:06:25 -07:00
2005-06-21 18:46:23 -07:00
2005-08-15 09:50:31 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-07-27 16:26:08 -07:00
2005-09-09 14:03:47 -07:00
2005-09-07 16:57:17 -07:00
2005-05-28 02:11:12 -05:00
2005-04-16 15:20:36 -07:00
2005-06-21 18:46:18 -07:00
2005-04-16 15:20:36 -07:00
2005-06-23 09:45:19 -07:00
2005-09-07 16:57:40 -07:00
2005-07-12 16:01:03 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-07-12 12:08:43 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-06-25 16:24:53 -07:00
2005-04-16 15:20:36 -07:00
2005-08-29 16:10:54 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-05 00:05:46 -07:00
2005-09-05 09:14:13 -07:00
2005-09-05 09:14:23 -07:00
2005-09-05 09:14:17 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-06-28 21:20:32 -07:00
2005-09-05 09:14:33 -07:00
2005-09-05 09:14:31 -07:00
2005-06-15 12:38:14 +01:00
2005-09-17 11:50:02 -07:00
2005-06-24 00:05:29 -07:00
2005-06-24 00:05:29 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-08-09 20:21:31 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-05-05 16:36:49 -07:00
2005-06-26 17:54:11 -04:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-27 15:59:43 -07:00
2005-08-29 16:10:54 -07:00
2005-08-29 16:10:54 -07:00
2005-08-29 16:01:32 -07:00
2005-08-29 16:10:54 -07:00
2005-04-16 15:20:36 -07:00
2005-05-05 14:25:59 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-07-05 15:03:46 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-08-29 16:01:32 -07:00
2005-09-01 17:40:05 -07:00
2005-04-16 15:20:36 -07:00
2005-09-19 15:41:28 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-05-12 19:45:25 -04:00
2005-08-29 16:01:32 -07:00
2005-09-10 11:32:45 +09:00
2005-04-16 15:20:36 -07:00
2005-08-29 15:49:46 -07:00
2005-08-29 15:57:48 -07:00
2005-04-16 15:20:36 -07:00
2005-05-29 20:23:46 -07:00
2005-09-09 13:57:55 -07:00
2005-06-25 16:24:30 -07:00
2005-04-16 15:20:36 -07:00
2005-09-07 16:57:39 -07:00
2005-09-09 20:14:47 -05:00
2005-09-12 10:49:58 -07:00
2005-06-21 18:46:32 -07:00
2005-09-07 16:57:20 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-07-07 18:23:37 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-08-29 15:43:19 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-07 16:57:48 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-10-03 14:13:38 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-07 16:57:29 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-07 16:57:34 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-25 18:32:12 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-05-05 16:36:48 -07:00
2005-09-10 10:06:21 -07:00
2005-04-16 15:20:36 -07:00
2005-05-23 13:21:14 +02:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-10 10:06:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-17 11:50:02 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-13 08:22:28 -07:00
2005-04-16 15:20:36 -07:00
2005-06-25 16:24:55 -07:00
2005-09-28 09:10:47 -07:00
2005-09-28 09:10:47 -07:00
2005-04-16 15:20:36 -07:00
2005-06-24 00:05:19 -07:00
2005-04-16 15:20:36 -07:00
2005-09-07 18:26:54 -07:00
2005-04-16 15:20:36 -07:00
2005-06-24 00:05:18 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-06-20 15:15:01 -07:00
2005-09-07 16:57:59 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-16 02:39:01 -04:00
2005-06-01 02:39:51 -05:00
2005-04-16 15:20:36 -07:00
2005-09-07 16:57:59 -07:00
2005-04-16 15:20:36 -07:00
2005-08-29 16:11:00 -07:00
2005-04-16 15:20:36 -07:00
2005-06-23 09:45:18 -07:00
2005-04-16 15:20:36 -07:00
2005-05-20 12:53:50 -05:00
2005-04-16 15:20:36 -07:00
2005-07-27 16:26:07 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-08 14:57:23 -07:00
2005-06-23 09:45:09 -07:00
2005-04-16 15:20:36 -07:00
2005-07-30 19:31:23 -04:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-21 10:11:55 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-05 00:05:38 -07:00
2005-10-01 10:54:47 -07:00
2005-06-24 00:06:40 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-07-12 16:00:58 -07:00
2005-05-05 16:36:44 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-07 16:57:26 -07:00
2005-04-16 15:20:36 -07:00
2005-09-05 00:06:00 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-07-07 18:23:51 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-08-29 16:01:32 -07:00
2005-09-27 15:23:16 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-08-29 16:00:54 -07:00
2005-08-29 15:34:40 -07:00
2005-08-29 16:01:32 -07:00
2005-04-16 15:20:36 -07:00
2005-08-29 15:57:14 -07:00
2005-09-14 20:52:37 -07:00
2005-08-11 19:27:43 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-06-24 00:06:28 -07:00
2005-06-22 16:07:42 -04:00
2005-06-22 16:07:24 -04:00
2005-08-18 12:53:57 -07:00
2005-04-16 15:20:36 -07:00
2005-06-22 16:07:24 -04:00
2005-06-22 16:07:39 -04:00
2005-06-22 16:07:24 -04:00
2005-04-16 15:20:36 -07:00
2005-06-22 16:07:23 -04:00
2005-06-24 00:06:32 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-06-20 15:15:29 -07:00
2005-04-16 15:20:36 -07:00
2005-05-29 14:13:47 -07:00
2005-04-16 15:20:36 -07:00
2005-06-23 09:45:04 -07:00
2005-06-25 16:25:03 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-05 00:05:49 -07:00
2005-06-21 18:46:14 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-05-05 16:36:31 -07:00
2005-10-03 08:07:10 -07:00
2005-09-08 14:57:24 -07:00
2005-04-16 15:20:36 -07:00
2005-09-09 15:43:46 -07:00
2005-04-16 15:25:33 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-06-20 13:21:43 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-08-28 20:28:25 -04:00
2005-04-16 15:20:36 -07:00
2005-09-07 16:57:24 -07:00
2005-06-28 12:56:45 -07:00
2005-06-28 12:56:45 -07:00
2005-09-13 08:22:31 -07:00
2005-04-16 15:20:36 -07:00
2005-09-05 00:06:16 -07:00
2005-06-27 15:11:43 -07:00
2005-09-07 16:57:25 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-06-23 09:45:33 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-06-25 16:24:53 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-07 16:57:43 -07:00
2005-04-16 15:20:36 -07:00
2005-06-24 14:14:24 -07:00
2005-06-24 14:14:24 -07:00
2005-06-24 00:05:19 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-06-23 09:45:20 -07:00
2005-04-16 15:20:36 -07:00
2005-09-10 10:06:28 -07:00
2005-08-30 22:48:51 -05:00
2005-04-16 15:20:36 -07:00
2005-08-29 15:49:40 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-09 13:57:54 -07:00
2005-09-09 13:57:54 -07:00
2005-05-01 08:58:49 -07:00
2005-09-22 22:17:33 -07:00
2005-07-12 20:21:28 -07:00
2005-07-12 20:21:28 -07:00
2005-07-12 20:21:28 -07:00
2005-09-10 10:06:35 -07:00
2005-07-12 20:21:28 -07:00
2005-09-07 16:57:18 -07:00
2005-04-16 15:20:36 -07:00
2005-06-24 00:06:41 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-08-29 16:00:54 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-29 15:18:21 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-06-27 15:11:44 -07:00
2005-04-16 15:20:36 -07:00
2005-09-13 09:48:54 -07:00
2005-04-16 15:20:36 -07:00
2005-08-29 16:00:54 -07:00
2005-09-07 16:57:26 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-08 16:04:41 +01:00
2005-09-08 14:47:12 -07:00
2005-04-16 15:20:36 -07:00
2005-08-31 21:48:47 +01:00
2005-07-27 11:41:18 +01:00
2005-06-01 02:40:01 -05:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-06-12 20:43:21 -07:00
2005-10-03 13:57:23 -07:00
2005-09-10 10:06:26 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-07-28 10:34:47 -07:00
2005-04-16 15:20:36 -07:00
2005-08-29 16:01:32 -07:00
2005-05-05 16:36:49 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-07 16:57:24 -07:00
2005-04-16 15:20:36 -07:00
2005-08-30 08:58:37 +02:00
2005-05-05 16:36:31 -07:00
2005-09-10 10:06:21 -07:00
2005-09-10 10:06:21 -07:00
2005-09-10 10:06:21 -07:00
2005-09-10 10:06:21 -07:00
2005-09-10 10:06:21 -07:00
2005-09-10 10:06:21 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-07-07 18:23:46 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-06-25 16:24:32 -07:00
2005-09-05 00:05:42 -07:00
2005-09-05 00:05:45 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-21 10:12:18 -07:00
2005-09-22 04:30:44 -03:00
2005-04-16 15:25:24 -07:00
2005-06-20 15:15:37 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-08-29 15:56:18 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-06-23 20:59:16 -07:00
2005-06-23 20:49:30 -07:00
2005-09-18 00:18:32 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-10 10:06:36 -07:00
2005-09-09 14:03:48 -07:00
2005-04-16 15:20:36 -07:00
2005-09-07 16:57:34 -07:00
2005-04-16 15:20:36 -07:00
2005-09-07 16:57:40 -07:00
2005-04-16 15:20:36 -07:00
2005-08-14 17:21:27 -05:00
2005-05-05 16:36:49 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-09 13:57:58 -07:00
2005-08-29 15:57:59 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-06-30 00:48:14 -05:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-07-12 11:52:57 -07:00
2005-06-28 21:20:32 -07:00
2005-07-12 11:52:56 -07:00
2005-04-16 15:20:36 -07:00
2005-06-30 00:49:08 -05:00
2005-09-08 16:22:48 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-08 16:23:04 -07:00
2005-09-12 12:23:52 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-13 08:22:32 -07:00
2005-09-09 13:57:49 -07:00
2005-04-16 15:20:36 -07:00
2005-09-05 00:05:46 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-06-23 09:45:34 -07:00
2005-04-16 15:20:36 -07:00
2005-07-12 12:08:43 -07:00
2005-07-27 16:25:54 -07:00
2005-04-16 15:20:36 -07:00
2005-09-07 00:27:54 -04:00
2005-04-16 15:23:59 -07:00
2005-09-10 10:06:25 -07:00
2005-06-22 22:16:17 -07:00
2005-04-16 15:20:36 -07:00
2005-08-29 16:00:54 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-08-06 09:39:57 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00