Messages in this thread Patch in this message | | | From | Christoph Hellwig <> | Subject | [PATCH 11/14] mm: use SWP_SYNCHRONOUS_IO more intelligently | Date | Mon, 20 Jul 2020 09:51:45 +0200 |
| |
There is no point in trying to call bdev_read_page if SWP_SYNCHRONOUS_IO is not set, as the device won't support it. Also there is no point in trying a bio submission if bdev_read_page failed.
Signed-off-by: Christoph Hellwig <hch@lst.de> --- mm/page_io.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/mm/page_io.c b/mm/page_io.c index ccda7679008851..63b44b8221af0f 100644 --- a/mm/page_io.c +++ b/mm/page_io.c @@ -403,8 +403,11 @@ int swap_readpage(struct page *page, bool synchronous) goto out; } - ret = bdev_read_page(sis->bdev, swap_page_sector(page), page); - if (!ret) { + if (sis->flags & SWP_SYNCHRONOUS_IO) { + ret = bdev_read_page(sis->bdev, swap_page_sector(page), page); + if (ret) + goto out; + if (trylock_page(page)) { swap_slot_free_notify(page); unlock_page(page); -- 2.27.0
| |