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 timestamps. * 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 <fgou...@free.fr> http://fgouget.free.fr/ The last time religion ruled, it was called the dark ages.