vmalloc.c (1bdd3e05a0a3b4a97ea88bc46fef8fb265c8b94c) | vmalloc.c (8e57f8acbbd121ecfb0c9dc13b8b030f86c6bd3b) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * linux/mm/vmalloc.c 4 * 5 * Copyright (C) 1993 Linus Torvalds 6 * Support of BIGMEM added by Gerhard Wichert, Siemens AG, July 1999 7 * SMP-safe vmalloc/vfree/ioremap, Tigran Aivazian <tigran@veritas.com>, May 2000 8 * Major rework to support vmap/vunmap, Christoph Hellwig, SGI, August 2002 --- 1369 unchanged lines hidden (view full) --- 1378 1379/* 1380 * Free and unmap a vmap area 1381 */ 1382static void free_unmap_vmap_area(struct vmap_area *va) 1383{ 1384 flush_cache_vunmap(va->va_start, va->va_end); 1385 unmap_vmap_area(va); | 1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * linux/mm/vmalloc.c 4 * 5 * Copyright (C) 1993 Linus Torvalds 6 * Support of BIGMEM added by Gerhard Wichert, Siemens AG, July 1999 7 * SMP-safe vmalloc/vfree/ioremap, Tigran Aivazian <tigran@veritas.com>, May 2000 8 * Major rework to support vmap/vunmap, Christoph Hellwig, SGI, August 2002 --- 1369 unchanged lines hidden (view full) --- 1378 1379/* 1380 * Free and unmap a vmap area 1381 */ 1382static void free_unmap_vmap_area(struct vmap_area *va) 1383{ 1384 flush_cache_vunmap(va->va_start, va->va_end); 1385 unmap_vmap_area(va); |
1386 if (debug_pagealloc_enabled()) | 1386 if (debug_pagealloc_enabled_static()) |
1387 flush_tlb_kernel_range(va->va_start, va->va_end); 1388 1389 free_vmap_area_noflush(va); 1390} 1391 1392static struct vmap_area *find_vmap_area(unsigned long addr) 1393{ 1394 struct vmap_area *va; --- 281 unchanged lines hidden (view full) --- 1676 vb_idx = addr_to_vb_idx((unsigned long)addr); 1677 rcu_read_lock(); 1678 vb = radix_tree_lookup(&vmap_block_tree, vb_idx); 1679 rcu_read_unlock(); 1680 BUG_ON(!vb); 1681 1682 vunmap_page_range((unsigned long)addr, (unsigned long)addr + size); 1683 | 1387 flush_tlb_kernel_range(va->va_start, va->va_end); 1388 1389 free_vmap_area_noflush(va); 1390} 1391 1392static struct vmap_area *find_vmap_area(unsigned long addr) 1393{ 1394 struct vmap_area *va; --- 281 unchanged lines hidden (view full) --- 1676 vb_idx = addr_to_vb_idx((unsigned long)addr); 1677 rcu_read_lock(); 1678 vb = radix_tree_lookup(&vmap_block_tree, vb_idx); 1679 rcu_read_unlock(); 1680 BUG_ON(!vb); 1681 1682 vunmap_page_range((unsigned long)addr, (unsigned long)addr + size); 1683 |
1684 if (debug_pagealloc_enabled()) | 1684 if (debug_pagealloc_enabled_static()) |
1685 flush_tlb_kernel_range((unsigned long)addr, 1686 (unsigned long)addr + size); 1687 1688 spin_lock(&vb->lock); 1689 1690 /* Expand dirty range */ 1691 vb->dirty_min = min(vb->dirty_min, offset); 1692 vb->dirty_max = max(vb->dirty_max, offset + (1UL << order)); --- 1989 unchanged lines hidden --- | 1685 flush_tlb_kernel_range((unsigned long)addr, 1686 (unsigned long)addr + size); 1687 1688 spin_lock(&vb->lock); 1689 1690 /* Expand dirty range */ 1691 vb->dirty_min = min(vb->dirty_min, offset); 1692 vb->dirty_max = max(vb->dirty_max, offset + (1UL << order)); --- 1989 unchanged lines hidden --- |