commit-hurd
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]