Lines Matching refs:offset
96 __try_to_reclaim_swap(struct swap_info_struct *si, unsigned long offset) in __try_to_reclaim_swap() argument
98 swp_entry_t entry = swp_entry(si->type, offset); in __try_to_reclaim_swap()
172 pgoff_t offset = start_page - se->start_page; in discard_swap_cluster() local
173 sector_t start_block = se->start_block + offset; in discard_swap_cluster()
174 sector_t nr_blocks = se->nr_pages - offset; in discard_swap_cluster()
415 unsigned long offset) in scan_swap_map_ssd_cluster_conflict() argument
420 offset /= SWAPFILE_CLUSTER; in scan_swap_map_ssd_cluster_conflict()
422 offset != cluster_next(&si->free_cluster_head) && in scan_swap_map_ssd_cluster_conflict()
423 cluster_is_free(&si->cluster_info[offset]); in scan_swap_map_ssd_cluster_conflict()
438 unsigned long *offset, unsigned long *scan_base) in scan_swap_map_try_ssd_cluster() argument
457 *scan_base = *offset = si->cluster_next; in scan_swap_map_try_ssd_cluster()
483 *offset = tmp; in scan_swap_map_try_ssd_cluster()
490 unsigned long offset; in scan_swap_map() local
507 scan_base = offset = si->cluster_next; in scan_swap_map()
511 scan_swap_map_try_ssd_cluster(si, &offset, &scan_base); in scan_swap_map()
529 scan_base = offset = si->lowest_bit; in scan_swap_map()
530 last_in_cluster = offset + SWAPFILE_CLUSTER - 1; in scan_swap_map()
533 for (; last_in_cluster <= si->highest_bit; offset++) { in scan_swap_map()
534 if (si->swap_map[offset]) in scan_swap_map()
535 last_in_cluster = offset + SWAPFILE_CLUSTER; in scan_swap_map()
536 else if (offset == last_in_cluster) { in scan_swap_map()
538 offset -= SWAPFILE_CLUSTER - 1; in scan_swap_map()
539 si->cluster_next = offset; in scan_swap_map()
549 offset = scan_base; in scan_swap_map()
556 while (scan_swap_map_ssd_cluster_conflict(si, offset)) in scan_swap_map()
557 scan_swap_map_try_ssd_cluster(si, &offset, &scan_base); in scan_swap_map()
563 if (offset > si->highest_bit) in scan_swap_map()
564 scan_base = offset = si->lowest_bit; in scan_swap_map()
567 if (vm_swap_full() && si->swap_map[offset] == SWAP_HAS_CACHE) { in scan_swap_map()
570 swap_was_freed = __try_to_reclaim_swap(si, offset); in scan_swap_map()
578 if (si->swap_map[offset]) in scan_swap_map()
581 if (offset == si->lowest_bit) in scan_swap_map()
583 if (offset == si->highest_bit) in scan_swap_map()
593 si->swap_map[offset] = usage; in scan_swap_map()
594 inc_cluster_info_page(si, si->cluster_info, offset); in scan_swap_map()
595 si->cluster_next = offset + 1; in scan_swap_map()
598 return offset; in scan_swap_map()
602 while (++offset <= si->highest_bit) { in scan_swap_map()
603 if (!si->swap_map[offset]) { in scan_swap_map()
607 if (vm_swap_full() && si->swap_map[offset] == SWAP_HAS_CACHE) { in scan_swap_map()
616 offset = si->lowest_bit; in scan_swap_map()
617 while (offset < scan_base) { in scan_swap_map()
618 if (!si->swap_map[offset]) { in scan_swap_map()
622 if (vm_swap_full() && si->swap_map[offset] == SWAP_HAS_CACHE) { in scan_swap_map()
630 offset++; in scan_swap_map()
642 pgoff_t offset; in get_swap_page() local
674 offset = scan_swap_map(si, SWAP_HAS_CACHE); in get_swap_page()
676 if (offset) in get_swap_page()
677 return swp_entry(si->type, offset); in get_swap_page()
707 pgoff_t offset; in get_swap_page_of_type() local
714 offset = scan_swap_map(si, 1); in get_swap_page_of_type()
715 if (offset) { in get_swap_page_of_type()
717 return swp_entry(type, offset); in get_swap_page_of_type()
728 unsigned long offset, type; in swap_info_get() local
738 offset = swp_offset(entry); in swap_info_get()
739 if (offset >= p->max) in swap_info_get()
741 if (!p->swap_map[offset]) in swap_info_get()
764 unsigned long offset = swp_offset(entry); in swap_entry_free() local
768 count = p->swap_map[offset]; in swap_entry_free()
783 if (swap_count_continued(p, offset, count)) in swap_entry_free()
795 p->swap_map[offset] = usage; in swap_entry_free()
799 dec_cluster_info_page(p, p->cluster_info, offset); in swap_entry_free()
800 if (offset < p->lowest_bit) in swap_entry_free()
801 p->lowest_bit = offset; in swap_entry_free()
802 if (offset > p->highest_bit) { in swap_entry_free()
804 p->highest_bit = offset; in swap_entry_free()
816 frontswap_invalidate_page(p->type, offset); in swap_entry_free()
821 offset); in swap_entry_free()
886 pgoff_t offset; in swp_swapcount() local
900 offset = swp_offset(entry); in swp_swapcount()
901 page = vmalloc_to_page(p->swap_map + offset); in swp_swapcount()
902 offset &= ~PAGE_MASK; in swp_swapcount()
908 tmp_count = map[offset]; in swp_swapcount()
1030 int swap_type_of(dev_t device, sector_t offset, struct block_device **bdev_p) in swap_type_of() argument
1055 if (se->start_block == offset) { in swap_type_of()
1076 sector_t swapdev_block(int type, pgoff_t offset) in swapdev_block() argument
1084 return map_swap_entry(swp_entry(type, offset), &bdev); in swapdev_block()
1626 pgoff_t offset; in map_swap_entry() local
1631 offset = swp_offset(entry); in map_swap_entry()
1638 if (se->start_page <= offset && in map_swap_entry()
1639 offset < (se->start_page + se->nr_pages)) { in map_swap_entry()
1640 return se->start_block + (offset - se->start_page); in map_swap_entry()
2639 unsigned long offset, type; in __swap_duplicate() local
2651 offset = swp_offset(entry); in __swap_duplicate()
2654 if (unlikely(offset >= p->max)) in __swap_duplicate()
2657 count = p->swap_map[offset]; in __swap_duplicate()
2688 else if (swap_count_continued(p, offset, count)) in __swap_duplicate()
2695 p->swap_map[offset] = count | has_cache; in __swap_duplicate()
2791 pgoff_t offset; in add_swap_count_continuation() local
2810 offset = swp_offset(entry); in add_swap_count_continuation()
2811 count = si->swap_map[offset] & ~SWAP_HAS_CACHE; in add_swap_count_continuation()
2832 head = vmalloc_to_page(si->swap_map + offset); in add_swap_count_continuation()
2833 offset &= ~PAGE_MASK; in add_swap_count_continuation()
2856 map = kmap_atomic(list_page) + offset; in add_swap_count_continuation()
2887 pgoff_t offset, unsigned char count) in swap_count_continued() argument
2893 head = vmalloc_to_page(si->swap_map + offset); in swap_count_continued()
2899 offset &= ~PAGE_MASK; in swap_count_continued()
2901 map = kmap_atomic(page) + offset; in swap_count_continued()
2914 map = kmap_atomic(page) + offset; in swap_count_continued()
2921 map = kmap_atomic(page) + offset; in swap_count_continued()
2928 map = kmap_atomic(page) + offset; in swap_count_continued()
2944 map = kmap_atomic(page) + offset; in swap_count_continued()
2953 map = kmap_atomic(page) + offset; in swap_count_continued()
2969 pgoff_t offset; in free_swap_count_continuations() local
2971 for (offset = 0; offset < si->max; offset += PAGE_SIZE) { in free_swap_count_continuations()
2973 head = vmalloc_to_page(si->swap_map + offset); in free_swap_count_continuations()