diff options
author | Zach Reizner <zachr@google.com> | 2018-06-18 16:18:52 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-06-21 16:31:43 -0700 |
commit | 298b41cf82dc807b21e0352c6658c52d5550374d (patch) | |
tree | 22074ba7b29df9190c840f5f7e3df106a397b398 /sys_util | |
parent | 22272dd4b26cf1e3797ea8f7ea0331d71cbd399a (diff) | |
download | crosvm-298b41cf82dc807b21e0352c6658c52d5550374d.tar crosvm-298b41cf82dc807b21e0352c6658c52d5550374d.tar.gz crosvm-298b41cf82dc807b21e0352c6658c52d5550374d.tar.bz2 crosvm-298b41cf82dc807b21e0352c6658c52d5550374d.tar.lz crosvm-298b41cf82dc807b21e0352c6658c52d5550374d.tar.xz crosvm-298b41cf82dc807b21e0352c6658c52d5550374d.tar.zst crosvm-298b41cf82dc807b21e0352c6658c52d5550374d.zip |
sys_util: move round_to_page_size to sys_util
This function will be used elsewhere in gpu_display. TEST=None BUG=None Change-Id: I58b820511ea5a55a53ad640fdfe7c96d2dbdc73b Reviewed-on: https://chromium-review.googlesource.com/1105481 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Zach Reizner <zachr@chromium.org> Reviewed-by: Zach Reizner <zachr@chromium.org>
Diffstat (limited to 'sys_util')
-rw-r--r-- | sys_util/src/lib.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sys_util/src/lib.rs b/sys_util/src/lib.rs index 701622b..caef4c2 100644 --- a/sys_util/src/lib.rs +++ b/sys_util/src/lib.rs @@ -75,6 +75,14 @@ pub fn pagesize() -> usize { unsafe { sysconf(_SC_PAGESIZE) as usize } } + +/// Uses the system's page size in bytes to round the given value up to the nearest page boundary. +#[inline(always)] +pub fn round_up_to_page_size(v: usize) -> usize { + let page_mask = pagesize() - 1; + (v + page_mask) & !page_mask +} + /// This bypasses `libc`'s caching `getpid(2)` wrapper which can be invalid if a raw clone was used /// elsewhere. #[inline(always)] |