swapfile.c (bdb0ed54a4768dc3c2613d4c45f94c887d43cd7a) swapfile.c (4081f7446d95a9d3ced12dc04ff02c187a761e90)
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * linux/mm/swapfile.c
4 *
5 * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds
6 * Swap reorganised 29.12.95, Stephen Tweedie
7 */
8

--- 1318 unchanged lines hidden (view full) ---

1327 p = _swap_info_get(entry);
1328 if (p)
1329 __swap_entry_free(p, entry);
1330}
1331
1332/*
1333 * Called after dropping swapcache to decrease refcnt to swap entries.
1334 */
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * linux/mm/swapfile.c
4 *
5 * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds
6 * Swap reorganised 29.12.95, Stephen Tweedie
7 */
8

--- 1318 unchanged lines hidden (view full) ---

1327 p = _swap_info_get(entry);
1328 if (p)
1329 __swap_entry_free(p, entry);
1330}
1331
1332/*
1333 * Called after dropping swapcache to decrease refcnt to swap entries.
1334 */
1335void put_swap_page(struct page *page, swp_entry_t entry)
1335void put_swap_folio(struct folio *folio, swp_entry_t entry)
1336{
1337 unsigned long offset = swp_offset(entry);
1338 unsigned long idx = offset / SWAPFILE_CLUSTER;
1339 struct swap_cluster_info *ci;
1340 struct swap_info_struct *si;
1341 unsigned char *map;
1342 unsigned int i, free_entries = 0;
1343 unsigned char val;
1336{
1337 unsigned long offset = swp_offset(entry);
1338 unsigned long idx = offset / SWAPFILE_CLUSTER;
1339 struct swap_cluster_info *ci;
1340 struct swap_info_struct *si;
1341 unsigned char *map;
1342 unsigned int i, free_entries = 0;
1343 unsigned char val;
1344 int size = swap_entry_size(thp_nr_pages(page));
1344 int size = swap_entry_size(folio_nr_pages(folio));
1345
1346 si = _swap_info_get(entry);
1347 if (!si)
1348 return;
1349
1350 ci = lock_cluster_or_swap_info(si, offset);
1351 if (size == SWAPFILE_CLUSTER) {
1352 VM_BUG_ON(!cluster_is_huge(ci));

--- 2327 unchanged lines hidden ---
1345
1346 si = _swap_info_get(entry);
1347 if (!si)
1348 return;
1349
1350 ci = lock_cluster_or_swap_info(si, offset);
1351 if (size == SWAPFILE_CLUSTER) {
1352 VM_BUG_ON(!cluster_is_huge(ci));

--- 2327 unchanged lines hidden ---