[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 12/14] mach-defpager: turn dealloc_direct into a normal function
From: |
Justus Winter |
Subject: |
[PATCH 12/14] mach-defpager: turn dealloc_direct into a normal function |
Date: |
Fri, 8 Nov 2013 21:24:20 +0100 |
* mach-defpager/default_pager.c (dealloc_direct): Move function
definition outside of pager_truncate.
---
mach-defpager/default_pager.c | 45 +++++++++++++++++++++--------------------
1 file changed, 23 insertions(+), 22 deletions(-)
diff --git a/mach-defpager/default_pager.c b/mach-defpager/default_pager.c
index b445590..9dad4c2 100644
--- a/mach-defpager/default_pager.c
+++ b/mach-defpager/default_pager.c
@@ -1061,6 +1061,29 @@ pager_extend(pager, new_size)
pthread_mutex_unlock(&pager->lock);
}
+/* This deallocates the pages necessary to truncate a direct map
+ previously of size NEW_SIZE to the smaller size OLD_SIZE. */
+static void
+dealloc_direct (dp_map_t mapptr,
+ vm_size_t old_size, vm_size_t new_size)
+{
+ vm_size_t i;
+
+ if (!mapptr)
+ return;
+
+ for (i = new_size; i < old_size; ++i)
+ {
+ const union dp_map entry = mapptr[i];
+ if (!no_block(entry))
+ {
+ pager_dealloc_page(entry.block.p_index, entry.block.p_offset,
+ TRUE);
+ invalidate_block(mapptr[i]);
+ }
+ }
+}
+
/* Truncate a memory object. First, any pages between the new size
and the (larger) old size are deallocated. Then, the size of
the pagemap may be reduced, an indirect map may be turned into
@@ -1075,28 +1098,6 @@ pager_truncate(dpager_t pager, vm_size_t new_size)
/* in pages */
int i;
vm_size_t old_size;
- /* This deallocates the pages necessary to truncate a direct map
- previously of size NEW_SIZE to the smaller size OLD_SIZE. */
- inline void dealloc_direct (dp_map_t mapptr,
- vm_size_t old_size, vm_size_t new_size)
- {
- vm_size_t i;
-
- if (!mapptr)
- return;
-
- for (i = new_size; i < old_size; ++i)
- {
- const union dp_map entry = mapptr[i];
- if (!no_block(entry))
- {
- pager_dealloc_page(entry.block.p_index, entry.block.p_offset,
- TRUE);
- invalidate_block(mapptr[i]);
- }
- }
- }
-
pthread_mutex_lock(&pager->lock); /* XXX lock_write */
if (!pager->map)
--
1.7.10.4
- Re: [PATCH 06/14] proc: turn {init, add}str, compare_versions into normal functions, (continued)
- [PATCH 03/14] proc: remove declaration of nested functions from proc.h, Justus Winter, 2013/11/08
- [PATCH 05/14] proc: turn reap into a normal function, Justus Winter, 2013/11/08
- [PATCH 08/14] proc: fix a use-after-free error, Justus Winter, 2013/11/08
- [PATCH 13/14] mach-defpager: include errno.h, Justus Winter, 2013/11/08
- [PATCH 02/14] libtrivfs: improve the out of memory handling in add_el, Justus Winter, 2013/11/08
- [PATCH 12/14] mach-defpager: turn dealloc_direct into a normal function,
Justus Winter <=
- Re: [PATCH 01/14] term: fix error handling in hurdio_mdmctl, Samuel Thibault, 2013/11/09