Changeset fb63c06 in mainline for kernel/genarch/include


Ignore:
Timestamp:
2016-09-01T16:37:51Z (9 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
2a2fbc8
Parents:
346b12a2
Message:

Make page hash table critical sections smaller

After the change of the page mapping interface to work exclusively with
a copy of the actual PTE, the critical section around page hash table
look-ups, insertions and deletions can be much smaller.

This change necessitated the change of the page_ht_lock mutex into a
spinlock, because the page mapping API can be used from within TLB
shootdown sequence, which is basically a spinlock-protected critical
section and we cannot take a mutex while holding a spinlock.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/genarch/include/genarch/mm/page_ht.h

    r346b12a2 rfb63c06  
    4444#include <mm/page.h>
    4545#include <mm/slab.h>
    46 #include <synch/mutex.h>
    4746#include <adt/hash_table.h>
    4847
     
    6665
    6766extern slab_cache_t *pte_cache;
    68 extern mutex_t page_ht_lock;
    6967extern hash_table_t page_ht;
    7068extern hash_table_operations_t ht_operations;
Note: See TracChangeset for help on using the changeset viewer.