Thread (24 messages) 24 messages, 8 authors, 2021-05-26

Re: [PATCH v3 1/3] iomap: resched ioend completion when in non-atomic context

From: Matthew Wilcox <willy@infradead.org>
Date: 2021-05-17 17:54:56
Also in: linux-fsdevel

On Mon, May 17, 2021 at 01:17:20PM -0400, Brian Foster wrote:
quoted hunk ↗ jump to hunk
@@ -1084,9 +1084,12 @@ iomap_finish_ioend(struct iomap_ioend *ioend, int error)
 			next = bio->bi_private;
 
 		/* walk each page on bio, ending page IO on them */
-		bio_for_each_segment_all(bv, bio, iter_all)
+		bio_for_each_segment_all(bv, bio, iter_all) {
 			iomap_finish_page_writeback(inode, bv->bv_page, error,
 					bv->bv_len);
+			if (!atomic)
+				cond_resched();
+		}
I don't know that it makes sense to check after _every_ page.  I might
go for every segment.  Some users check after every thousand pages.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help