[PATCH 1/3] ntdll: Introduce syscall_exit_full_restore and use it when x86_64 syscall frame is modified.

Jacek Caban jacek at codeweavers.com
Thu Jun 3 08:01:43 CDT 2021


Signed-off-by: Jacek Caban <jacek at codeweavers.com>
---
This patch series makes syscall dispatcher overhead over 2.5 smaller in 
my testing. It will matter more than now when we will use syscall 
interface for other modules like winepulse does.

The last patch is may be a bit controversial because is makes us less 
compatible with Windows (through I'm not aware of an application 
depending on that). If we don't want that, we could potentially 
introduce 'fast path' only for __wine_unix_call syscall. Such 
specialized fast path could probably also skip xsave, but I'm not sure 
that's worth it (and having proper ntdll syscalls faster is nice anyway).

  dlls/ntdll/unix/signal_x86_64.c | 124 ++++++++++++++++++++------------
  tools/winebuild/import.c        |   6 +-
  2 files changed, 84 insertions(+), 46 deletions(-)


-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-ntdll-Introduce-syscall_exit_full_restore-and-use-it-w.txt
Type: text/x-patch
Size: 10030 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20210603/349e621c/attachment.bin>


More information about the wine-devel mailing list