Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7002627
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T20:57:10+00:00 2026-05-27T20:57:10+00:00

Virtual Memory I: the problem [LWN.net] http://lwn.net/Articles/75174/ in particular, the hardware’s address translation buffer

  • 0

Virtual Memory I: the problem [LWN.net]
http://lwn.net/Articles/75174/

in particular, the hardware’s address translation buffer can be shared between the kernel and user space.

I am totally confused about it. Why they can share the TLB when the vm is split? I know there is page global bit in some CPU that

indicating TLB entries are common to different process and need not to be flushed.

What is the relation between TLB and vm split 3G/1G? Please comment in detail. Thanks in advance.

Update:why not use page global bit to indicate the TLB entry is used by OS(kernel space)? If so, why do still need to split the vm space? example: two entry(vm liner address is same) in TLB but one of them the global bit is set. ? When the context switch, just flush the entries that the global bit is not set. Is this possible?

Update2:I checked the intel-ia-32 architectures software developer manual and found that there is no global bit(exists in PDE and PTE) in TLB entry. But when the context switch, how the CPU determine whether TLB entry global bit set or unset?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-27T20:57:11+00:00Added an answer on May 27, 2026 at 8:57 pm

    The TLB also includes a supervisor flag that indicates if the mapping can be used by regular processes or if it is only usable when a process is running with the supervisor flag set — i.e., when the process is executing in kernel context.

    This supervisor flag allows the TLB to be useful for both the process (it doesn’t automatically get privileges to the data in the kernel’s gigabyte) and allows the kernel to have complete access to all the process’s memory when executing in kernel mode.

    This means a process can enter and exit kernel mode without incurring TLB flush penalties.

    If the memory was not split (say, the 4:4 patch giving four gigabytes to userspace and four gigabytes to kernel space is in use) then the TLB must be flushed on every kernel enter / exit to map either the privileged space or the userspace and all data being copied into and out of the kernel must go through tedious remapping mechanisms.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

How do I create a file in virtual memory and can I use normal
I have a problem of out of memory due to limited virtual memory heap
Does Android support virtual memory concept? I read it does use paging but not
We have a servlet which occupies more virtual memory on the server due to
We have a servlet which occupies more virtual memory on the server as it
I want to see how g++ lays out memory for classes and virtual tables.
Virtual method interception - introduced with Delphi XE - can be used to 'proxify'
Given virtual directory and port can you find the actual path of a web
We have an application whose virtual memory rises and keep going for over a
In order to find more easily buffer overflows I am changing our custom memory

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.