[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[SCM] GNU Mach branch, master, updated. v1.8-657-g505ecd7b
From: |
Samuel Thibault |
Subject: |
[SCM] GNU Mach branch, master, updated. v1.8-657-g505ecd7b |
Date: |
Sun, 2 Jul 2023 20:01:07 -0400 (EDT) |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Mach".
The branch, master has been updated
via 505ecd7b30fca1dc296205ff3c0dc3aff9d76e12 (commit)
from d5464d531aaba049a3e734adb80fb0bfd28093a7 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 505ecd7b30fca1dc296205ff3c0dc3aff9d76e12
Author: Sergey Bugaev <bugaevc@gmail.com>
Date: Mon Jun 26 14:26:50 2023 +0300
Shrink struct vm_page size
struct vm_page is supposed to be a "small structure", but it takes up 96
bytes on x86_64 (to represent a 4k page). By utilizing bitfields and
strategically reordering members to avoid excessive padding, it can be
shrunk to 80 bytes.
- page_lock and unlock_request only need to store a bitmask of
VM_PROT_READ, VM_PROT_WRITE, and VM_PROT_EXECUTE. Even though the
special values VM_PROT_NO_CHANGE and VM_PROT_NOTIFY are defined, they
are not used for the two struct vm_page members.
- type and seg_index both need to store one of the four possible values
in the range from 0 to 3. Two bits are sufficient for this.
- order needs to store a number from 0 to VM_PAGE_NR_FREE_LISTS (which
is 11), or a special value VM_PAGE_ORDER_UNLISTED. Four bits are
sufficient for this.
No functional change.
Message-Id: <20230626112656.435622-2-bugaevc@gmail.com>
-----------------------------------------------------------------------
Summary of changes:
vm/vm_page.c | 4 ++--
vm/vm_page.h | 18 ++++++++++++------
vm/vm_resident.c | 2 +-
3 files changed, 15 insertions(+), 9 deletions(-)
hooks/post-receive
--
GNU Mach
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [SCM] GNU Mach branch, master, updated. v1.8-657-g505ecd7b,
Samuel Thibault <=