|
@@ -360,17 +360,7 @@ struct page *__read_swap_cache_async(swp_entry_t entry, gfp_t gfp_mask,
|
|
|
/*
|
|
|
* We might race against get_swap_page() and stumble
|
|
|
* across a SWAP_HAS_CACHE swap_map entry whose page
|
|
|
- * has not been brought into the swapcache yet, while
|
|
|
- * the other end is scheduled away waiting on discard
|
|
|
- * I/O completion at scan_swap_map().
|
|
|
- *
|
|
|
- * In order to avoid turning this transitory state
|
|
|
- * into a permanent loop around this -EEXIST case
|
|
|
- * if !CONFIG_PREEMPT and the I/O completion happens
|
|
|
- * to be waiting on the CPU waitqueue where we are now
|
|
|
- * busy looping, we just conditionally invoke the
|
|
|
- * scheduler here, if there are some more important
|
|
|
- * tasks to run.
|
|
|
+ * has not been brought into the swapcache yet.
|
|
|
*/
|
|
|
cond_resched();
|
|
|
continue;
|