Thread (2 messages) 2 messages, 2 authors, 2007-08-29

Re: [PATCH 2.6.21.5-rt17] IPV6: estalished connections are not shown with "cat /proc/net/tcp6"

From: Steven Rostedt <rostedt@goodmis.org>
Date: 2007-08-29 12:37:13

Possibly related (same subject, not in this thread)

--
When I'm asked what language is my mother tongue,
I simply answer "C".

On Tue, 28 Aug 2007, David Miller wrote:
From: Masayuki Nakagawa <redacted>
Date: Tue, 28 Aug 2007 18:41:38 -0700
quoted
+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);
+}
+
A new atomic operation every single socket hashing insert or delete
operation is way too much amount of overhead for what should be a
trivial problem.
Indeed it is.
Please fix this in another way that does not add new locks or atomics
to the socket creation and destruction fast paths, thank you.
This was originally written back when there was a bh lock around the
entire loop (IIRC).  It caused quite a bit of latency problems back then.

I'll have to take a look to see if it is even still a problem.

If it is, then we'll need to find another fix for it. Unfortunately, it's
not that trivial (if it is still a problem). Since we need a way to look a
a large number of buckets without looping through checking each one.

Lee, I think you were the one to notice this source of latency back when
it was first discovered. If I write a patch to back this out of the -rt
kernel, could you see if it is still an issue?

Thanks,

-- Steve
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help