Displaying 3 results from an estimated 3 matches for "pte_rmw_start".
2008 May 23
6
[PATCH 0 of 4] mm+paravirt+xen: add pte read-modify-write abstraction
...pping into the instruction emulator
is inherently fairly expensive. And,
2: because ptep_get_and_clear has atomic-fetch-and-update semantics,
it's impossible to implement in a way which can be batched to amortize
the cost of faulting into the hypervisor.
This series adds the pte_rmw_start() and pte_rmw_commit() operations,
which change this sequence to:
ptent = pte_rmw_start(mm, addr, pte);
ptent = pte_modify(ptent, newprot);
/* ... */
pte_rmw_commit(mm, addr, pte, ptent);
Which looks very familiar. And, indeed, when compiled without
CONFIG_PARAVIRT (or on a non-x86 architect...
2008 May 23
6
[PATCH 0 of 4] mm+paravirt+xen: add pte read-modify-write abstraction
...pping into the instruction emulator
is inherently fairly expensive. And,
2: because ptep_get_and_clear has atomic-fetch-and-update semantics,
it's impossible to implement in a way which can be batched to amortize
the cost of faulting into the hypervisor.
This series adds the pte_rmw_start() and pte_rmw_commit() operations,
which change this sequence to:
ptent = pte_rmw_start(mm, addr, pte);
ptent = pte_modify(ptent, newprot);
/* ... */
pte_rmw_commit(mm, addr, pte, ptent);
Which looks very familiar. And, indeed, when compiled without
CONFIG_PARAVIRT (or on a non-x86 architect...
2008 May 23
6
[PATCH 0 of 4] mm+paravirt+xen: add pte read-modify-write abstraction
...pping into the instruction emulator
is inherently fairly expensive. And,
2: because ptep_get_and_clear has atomic-fetch-and-update semantics,
it's impossible to implement in a way which can be batched to amortize
the cost of faulting into the hypervisor.
This series adds the pte_rmw_start() and pte_rmw_commit() operations,
which change this sequence to:
ptent = pte_rmw_start(mm, addr, pte);
ptent = pte_modify(ptent, newprot);
/* ... */
pte_rmw_commit(mm, addr, pte, ptent);
Which looks very familiar. And, indeed, when compiled without
CONFIG_PARAVIRT (or on a non-x86 architect...