Commit b60a3ef7 authored by Youngjun Park's avatar Youngjun Park Committed by Andrew Morton
Browse files

mm/swapfile: use plist_for_each_entry in __folio_throttle_swaprate

The loop breaks immediately after finding the first swap device and
never modifies the list. Replace plist_for_each_entry_safe() with
plist_for_each_entry() and remove the unused next variable.

Link: https://lkml.kernel.org/r/20251127100303.783198-3-youngjun.park@lge.com


Signed-off-by: default avatarYoungjun Park <youngjun.park@lge.com>
Reviewed-by: default avatarBaoquan He <bhe@redhat.com>
Acked-by: default avatarKairui Song <kasong@tencent.com>
Acked-by: default avatarChris Li <chrisl@kernel.org>
Cc: Barry Song <baohua@kernel.org>
Cc: Kemeng Shi <shikemeng@huaweicloud.com>
Cc: Nhat Pham <nphamcs@gmail.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent f9e82f99
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -4023,7 +4023,7 @@ static bool __has_usable_swap(void)

void __folio_throttle_swaprate(struct folio *folio, gfp_t gfp)
{
	struct swap_info_struct *si, *next;
	struct swap_info_struct *si;

	if (!(gfp & __GFP_IO))
		return;
@@ -4042,8 +4042,7 @@ void __folio_throttle_swaprate(struct folio *folio, gfp_t gfp)
		return;

	spin_lock(&swap_avail_lock);
	plist_for_each_entry_safe(si, next, &swap_avail_head,
				  avail_list) {
	plist_for_each_entry(si, &swap_avail_head, avail_list) {
		if (si->bdev) {
			blkcg_schedule_throttle(si->bdev->bd_disk, true);
			break;