Re: [PATCH] x86_64: fix delayed signals

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Linus Torvalds
Date: Friday, July 11, 2008 - 11:31 am

On Fri, 11 Jul 2008, Linus Torvalds wrote:

Hmm. Edwin's latencytop output includes this (ignoring the _very_ top 
entries that are all either CD-ROM media change tests or are interruptible 
pipe/select things) at the top:

	21 10264428 915514 get_request_wait __make_request generic_make_request
		submit_bio xfs_submit_ioend_bio xfs_submit_ioend 
		xfs_page_state_convert xfs_vm_writepage __writepage 
		write_cache_pages generic_writepages xfs_vm_writepages

	26 3369263 2260529 down xfs_buf_iowait xfs_buf_iostart xfs_buf_read_flags 
		xfs_trans_read_buf xfs_imap_to_bp xfs_itobp xfs_iread 
		xfs_iget_core xfs_iget xfs_lookup xfs_vn_lookup 1 17888 17888 down 
		xfs_buf_iowait xfs_buf_iostart xfs_buf_read_flags 
		xfs_trans_read_buf xfs_da_do_buf xfs_da_read_buf 
		xfs_dir2_block_getdents xfs_readdir xfs_file_readdir vfs_readdir 
		sys_getdents64
	..

which says that (a) yes, readdir() is part of the problematic paths, so my 
patch may make a difference but also (b) we also have so many writeback 
IO's in flight that the write request queue is totally full, and the 
writing side is simply waiting for the queue to empty.

I guess (b) isn't a surprise (considering the load), but it does explain 
why any IO read will be very much delayed. If the IO scheduler (or the 
disk itself - tagged commands etc) doesn't prioritize reads and 
effectively always put them ahead of the queue, you can get very very long 
latencies just because you have to wait for lots of writes to complete 
first.

			Linus
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH] x86_64: fix delayed signals, Roland McGrath, (Thu Jul 10, 2:50 pm)
Re: [PATCH] x86_64: fix delayed signals, Linus Torvalds, (Thu Jul 10, 3:06 pm)
Re: [PATCH] x86_64: fix delayed signals, Roland McGrath, (Thu Jul 10, 3:42 pm)
Re: [PATCH] x86_64: fix delayed signals, Linus Torvalds, (Thu Jul 10, 3:51 pm)
Re: [PATCH] x86_64: fix delayed signals, Linus Torvalds, (Thu Jul 10, 4:02 pm)
Re: [PATCH] x86_64: fix delayed signals, Roland McGrath, (Thu Jul 10, 5:52 pm)
Re: [PATCH] x86_64: fix delayed signals, Linus Torvalds, (Thu Jul 10, 6:18 pm)
Re: [PATCH] x86_64: fix delayed signals, Roland McGrath, (Thu Jul 10, 6:27 pm)
Re: [PATCH] x86_64: fix delayed signals, Linus Torvalds, (Thu Jul 10, 6:48 pm)
Re: [PATCH] x86_64: fix delayed signals, Linus Torvalds, (Thu Jul 10, 7:02 pm)
Re: [PATCH] x86_64: fix delayed signals, Linus Torvalds, (Thu Jul 10, 7:22 pm)
Re: [PATCH] x86_64: fix delayed signals, Linus Torvalds, (Thu Jul 10, 7:26 pm)
Re: [PATCH] x86_64: fix delayed signals, Ingo Molnar, (Thu Jul 10, 10:46 pm)
Re: [PATCH] x86_64: fix delayed signals, Török Edwin, (Fri Jul 11, 4:13 am)
Re: [PATCH] x86_64: fix delayed signals, Elias Oltmanns, (Fri Jul 11, 5:24 am)
Re: [PATCH] x86_64: fix delayed signals, Linus Torvalds, (Fri Jul 11, 10:58 am)
Re: [PATCH] x86_64: fix delayed signals, Roland McGrath, (Fri Jul 11, 11:07 am)
Re: [PATCH] x86_64: fix delayed signals, Linus Torvalds, (Fri Jul 11, 11:10 am)
Re: [PATCH] x86_64: fix delayed signals, Linus Torvalds, (Fri Jul 11, 11:16 am)
Re: [PATCH] x86_64: fix delayed signals, Linus Torvalds, (Fri Jul 11, 11:17 am)
Re: [PATCH] x86_64: fix delayed signals, Linus Torvalds, (Fri Jul 11, 11:31 am)
Re: [PATCH] x86_64: fix delayed signals, Linus Torvalds, (Fri Jul 11, 1:37 pm)
Re: [PATCH] x86_64: fix delayed signals, Arjan van de Ven, (Fri Jul 11, 3:53 pm)
Re: [PATCH] x86_64: fix delayed signals, Linus Torvalds, (Fri Jul 11, 4:22 pm)
Re: [PATCH] x86_64: fix delayed signals, Török Edwin, (Sat Jul 12, 3:32 am)
Re: [PATCH] x86_64: fix delayed signals, Török Edwin, (Sat Jul 12, 3:33 am)
Re: [PATCH] x86_64: fix delayed signals, Andi Kleen, (Sat Jul 12, 5:24 am)
Re: [PATCH] x86_64: fix delayed signals, Andi Kleen, (Sat Jul 12, 5:27 am)
Re: [PATCH] x86_64: fix delayed signals, Török Edwin, (Sat Jul 12, 6:42 am)
Re: [PATCH] x86_64: fix delayed signals, Arjan van de Ven, (Sat Jul 12, 7:55 am)
Re: [PATCH] x86_64: fix delayed signals, Linus Torvalds, (Sat Jul 12, 10:29 am)
Re: [PATCH] x86_64: fix delayed signals, Linus Torvalds, (Sat Jul 12, 10:41 am)
Re: [PATCH] x86_64: fix delayed signals, Linus Torvalds, (Sat Jul 12, 11:00 am)
Re: [PATCH] x86_64: fix delayed signals, Arjan van de Ven, (Sat Jul 12, 11:15 am)
Re: [PATCH] x86_64: fix delayed signals, Linus Torvalds, (Sat Jul 12, 11:28 am)
Re: [PATCH] x86_64: fix delayed signals, Török Edwin, (Sat Jul 12, 1:26 pm)
Re: [PATCH] x86_64: fix delayed signals, Linus Torvalds, (Sat Jul 12, 1:47 pm)
Re: [PATCH] x86_64: fix delayed signals, Denys Vlasenko, (Sat Jul 12, 1:57 pm)
Re: [PATCH] x86_64: fix delayed signals, Andi Kleen, (Sun Jul 13, 2:38 am)
Re: [PATCH] x86_64: fix delayed signals, Oleg Nesterov, (Sun Jul 13, 3:46 am)
Re: [PATCH] x86_64: fix delayed signals, Denys Vlasenko, (Sun Jul 13, 5:34 am)
Re: [PATCH] x86_64: fix delayed signals, Linus Torvalds, (Sun Jul 13, 10:32 am)
Re: [PATCH] x86_64: fix delayed signals, Linus Torvalds, (Sun Jul 13, 11:36 am)
Re: [PATCH] x86_64: fix delayed signals, Peter T. Breuer, (Sun Jul 13, 11:45 am)
Re: [PATCH] x86_64: fix delayed signals, Andi Kleen, (Sun Jul 13, 11:59 am)
Re: [PATCH] x86_64: fix delayed signals, Linus Torvalds, (Sun Jul 13, 12:08 pm)