Re: [PATCH 2/7] atm: replace del_timer by del_timer_sync

2014-03-26 Thread Vijay Subramanian
>
> It seems this timer rearms itself, so this patch wont be enough I fear.
>
>
>
Does that matter? It seems del_timer_sync() may be intended to work
despite this (i.e. timer will not fire after call to this function).
My earlier attempt to fix a similar issue in sch_red.c resulted in
this explanation.
http://www.spinics.net/lists/netdev/msg256410.html

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


Re: [PATCH 2/7] atm: replace del_timer by del_timer_sync

2014-03-26 Thread Vijay Subramanian

 It seems this timer rearms itself, so this patch wont be enough I fear.



Does that matter? It seems del_timer_sync() may be intended to work
despite this (i.e. timer will not fire after call to this function).
My earlier attempt to fix a similar issue in sch_red.c resulted in
this explanation.
http://www.spinics.net/lists/netdev/msg256410.html

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


Re: Doubts about listen backlog and tcp_max_syn_backlog

2013-01-27 Thread Vijay Subramanian
> +{ "ListenDrops", N_("%u SYNs to LISTEN sockets dropped"), opt_number },
>
> (see the file debian/patches/CVS-20081003-statistics.c_sync.patch
>  in the net-tools src)
>
> i.e., the netstat pkg is printing the value of the TCPEXT MIB counter
> that's counting TCPExtListenDrops.
>
> Theoretically, that number should be the same as that printed by nstat,
> as they are getting it from the same kernel stats counter. I have not
> looked at nstat code (I actually almost always dump the counters from
> /proc/net/{netstat + snmp} via a simple prettyprint script (will send
> you that offline).
>

nstat pretty much does what you describe which is to parse the
/proc/net files(s) and
print the contents. This is one advantage of nstat over netstat. When
you add a new MIB, you
do not need to update nstat.

> If the nstat and netstat counters don't match, something is fishy.
> That nstat output is broken.
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Doubts about listen backlog and tcp_max_syn_backlog

2013-01-27 Thread Vijay Subramanian
 +{ ListenDrops, N_(%u SYNs to LISTEN sockets dropped), opt_number },

 (see the file debian/patches/CVS-20081003-statistics.c_sync.patch
  in the net-tools src)

 i.e., the netstat pkg is printing the value of the TCPEXT MIB counter
 that's counting TCPExtListenDrops.

 Theoretically, that number should be the same as that printed by nstat,
 as they are getting it from the same kernel stats counter. I have not
 looked at nstat code (I actually almost always dump the counters from
 /proc/net/{netstat + snmp} via a simple prettyprint script (will send
 you that offline).


nstat pretty much does what you describe which is to parse the
/proc/net files(s) and
print the contents. This is one advantage of nstat over netstat. When
you add a new MIB, you
do not need to update nstat.

 If the nstat and netstat counters don't match, something is fishy.
 That nstat output is broken.

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


Re: Doubts about listen backlog and tcp_max_syn_backlog

2013-01-23 Thread Vijay Subramanian
On 23 January 2013 02:47, Leandro Lucarella
 wrote:
> On Tue, Jan 22, 2013 at 02:01:09PM -0800, Rick Jones wrote:
>> >>If that is being overflowed, I believe you should be seeing something like:
>> >>
>> >> 14 SYNs to LISTEN sockets dropped
>> >>
>> >>in the output of netstat -s on the system on which the server
>> >>application is running.
>> >
>> >What is that value reporting exactly?
>>
>> Netstat is reporting the ListenDrops and/or ListenOverflows  which
>> map to LINUX_MIB_LISTENDROPS and LINUX_MIB_LISTENOVERFLOWS.  Those
>> get incremented in tcp_v4_syn_recv_sock() (and its v6 version etc)
>>
>>if (sk_acceptq_is_full(sk))
>> goto exit_overflow;
>>
>> Will increment both overflows and drops, and drops will increment on
>> its own in some additional cases.

Note that tcp_v4_conn_request() can also drop SYNs directly (start of
TWHS) if acceptq is full and more than one young requests are queued
up
vim +1504 tcp_ipv4.c

   if (sk_acceptq_is_full(sk) && inet_csk_reqsk_queue_young(sk) > 1)
goto drop;


These drops do not seem to be tracked by any MIB variable and so will
not show up in netstat
(Also, newer nstat is preferred to netstat ).
Maybe we need to track these drops too?

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


Re: Doubts about listen backlog and tcp_max_syn_backlog

2013-01-23 Thread Vijay Subramanian
On 23 January 2013 02:47, Leandro Lucarella
leandro.lucare...@sociomantic.com wrote:
 On Tue, Jan 22, 2013 at 02:01:09PM -0800, Rick Jones wrote:
 If that is being overflowed, I believe you should be seeing something like:
 
  14 SYNs to LISTEN sockets dropped
 
 in the output of netstat -s on the system on which the server
 application is running.
 
 What is that value reporting exactly?

 Netstat is reporting the ListenDrops and/or ListenOverflows  which
 map to LINUX_MIB_LISTENDROPS and LINUX_MIB_LISTENOVERFLOWS.  Those
 get incremented in tcp_v4_syn_recv_sock() (and its v6 version etc)

if (sk_acceptq_is_full(sk))
 goto exit_overflow;

 Will increment both overflows and drops, and drops will increment on
 its own in some additional cases.

Note that tcp_v4_conn_request() can also drop SYNs directly (start of
TWHS) if acceptq is full and more than one young requests are queued
up
vim +1504 tcp_ipv4.c

   if (sk_acceptq_is_full(sk)  inet_csk_reqsk_queue_young(sk)  1)
goto drop;


These drops do not seem to be tracked by any MIB variable and so will
not show up in netstat
(Also, newer nstat is preferred to netstat ).
Maybe we need to track these drops too?

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