[haiku-commits] r35398 - haiku/trunk/src/system/kernel/arch/x86

  • From: ingo_weinhold@xxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Wed, 3 Feb 2010 22:07:23 +0100 (CET)

Author: bonefish
Date: 2010-02-03 22:07:23 +0100 (Wed, 03 Feb 2010)
New Revision: 35398
Changeset: http://dev.haiku-os.org/changeset/35398/haiku
Ticket: http://dev.haiku-os.org/ticket/5359

Modified:
   haiku/trunk/src/system/kernel/arch/x86/arch_vm_translation_map.cpp
Log:
Missing page access debug markers. Fixes #5359.


Modified: haiku/trunk/src/system/kernel/arch/x86/arch_vm_translation_map.cpp
===================================================================
--- haiku/trunk/src/system/kernel/arch/x86/arch_vm_translation_map.cpp  
2010-02-03 20:37:23 UTC (rev 35397)
+++ haiku/trunk/src/system/kernel/arch/x86/arch_vm_translation_map.cpp  
2010-02-03 21:07:23 UTC (rev 35398)
@@ -709,6 +709,8 @@
                                        (oldEntry & X86_PTE_ADDRESS_MASK) / 
B_PAGE_SIZE);
                                ASSERT(page != NULL);
 
+                               DEBUG_PAGE_ACCESS_START(page);
+
                                // transfer the accessed/dirty flags to the page
                                if ((oldEntry & X86_PTE_ACCESSED) != 0)
                                        page->accessed = true;
@@ -746,6 +748,8 @@
                                                        vm_page_set_state(page, 
PAGE_STATE_CACHED);
                                        }
                                }
+
+                               DEBUG_PAGE_ACCESS_END(page);
                        }
                }
 
@@ -796,6 +800,8 @@
 
                VMCache* cache = page->Cache();
 
+               DEBUG_PAGE_ACCESS_START(page);
+
                if (page->wired_count == 0 && page->mappings.IsEmpty()) {
                        atomic_add(&gMappedPagesCount, -1);
 
@@ -809,6 +815,8 @@
                        }
                }
 
+               DEBUG_PAGE_ACCESS_END(page);
+
                if (unmapPages || cache != area->cache) {
                        addr_t address = area->Base()
                                + ((page->cache_offset * B_PAGE_SIZE) - 
area->cache_offset);


Other related posts:

  • » [haiku-commits] r35398 - haiku/trunk/src/system/kernel/arch/x86 - ingo_weinhold