RFC: KUSER_SHARED_DATA update patch to fix bug 29168
fgouget at free.fr
Mon Apr 9 12:46:08 CDT 2012
On Thu, 22 Mar 2012, Kornél Pál wrote:
> A bit better approach was to mark that page PAGE_GUARD. Then wine could get an
> indication that it needs to be updated. Frequent accesses were not impacted
> because PAGE_GUARD could be reset by an APC some time later.
Why reset PAGE_GUARD?
Would the following work ?
* By default wineserver (or a separate process) does not update the
shared page. This way there's no overhead.
* The page is marked as PAGE_GUARD. When a process accesses it, the
user code makes an RPC to the wineserver (or the separate process) to
tell it to start updating the page and removes the PAGE_GARD flag.
* The application can now access the page and gets smoothly updated
* The wineserver (or the separate process) keeps track of which
processes need its services. When the last of them exits, it stops
updating the shared page so there's no overhead anymore.
Francois Gouget <fgouget at free.fr> http://fgouget.free.fr/
The last time religion ruled, it was called the dark ages.
More information about the wine-devel