RFC: KUSER_SHARED_DATA update patch to fix bug 29168
kornelpal at gmail.com
Thu Mar 22 02:13:28 CDT 2012
On 3/22/2012 7:43 AM, Kornél Pál wrote:
> On 3/22/2012 6:00 AM, Dmitry Timoshkov wrote:
>> Joey Yandle<dragon at dancingdragon.be> wrote:
>> It's been explained several times already that any approach to share data
>> between wineserver and clients is going to be rejected.
> I think this is the reason that timers in shared_user_data are not being
> updated. I also think that updating timers in every client process in
> every 15.6 ms is a lot of overhead.
> Another approach could be no to allocate that address and provide up to
> date data in an signal/exception handler. This is a more complex
> approach and not sure whether possible in user mode. And of course would
> defeat the purpose using shared memory for high performance.
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.
wine in this case should not use this structure for performance reasons.
I'm not sure however that this would solve Joey's problem since he
mentioned that APCs were not accurate enough.
More information about the wine-devel