public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* posible latency issues in seq_read
@ 2007-07-20 21:15 Chris Friesen
  2007-07-20 22:18 ` Lee Revell
  0 siblings, 1 reply; 5+ messages in thread
From: Chris Friesen @ 2007-07-20 21:15 UTC (permalink / raw)
  To: linux-kernel


We've run into an issue (on 2.6.10) where calling "lsof" triggers lost 
packets on our server.  Preempt is disabled, and NAPI is enabled.

It appears that for some reason the networking softirq is not being 
handled in a timely fashion, which means that the rx ring buffer fills 
up and packets overflow.

It appears that the problem path is:

seq_read
	tcp_seq_next
		established_get_next
			read_lock/read_unlock

The issue appears to be related to the amount of time that this syscall 
takes.  While we're in the syscall we cannot run the softirqd thread, 
and so the rx buffer is not being cleaned.

The fact that there are kmalloc(GFP_KERNEL) calls in seq_read() seems to 
indicate that sleeping is safe, so would it be reasonable to call 
schedule() periodically (maybe based on elapsed time) to ensure that 
system latency is kept under control?

Thanks,

Chris

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2007-07-23 17:46 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-20 21:15 posible latency issues in seq_read Chris Friesen
2007-07-20 22:18 ` Lee Revell
2007-07-20 22:39   ` Chris Friesen
2007-07-21  3:46     ` Eric Dumazet
2007-07-23 17:45       ` Chris Friesen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox