[Bug 3845] parallel port access is slow due to high cpu usage (eprom burner )
wine-bugs at winehq.org
wine-bugs at winehq.org
Sun May 4 05:58:45 CDT 2008
http://bugs.winehq.org/show_bug.cgi?id=3845
Ondrej Zary <linux at rainbow-software.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |linux at rainbow-software.org
--- Comment #7 from Ondrej Zary <linux at rainbow-software.org> 2008-05-04 05:58:42 ---
I have the same problem with Willem EPROM programmer. No wonder it's so slow
when you look at Wine parport code - for each port access, massive amount code
is run:
1. DOSVM_outport()
http://source.winehq.org/source/dlls/winedos/ioports.c#L501
this fortunately calls IO_pp_outp() early
2. IO_pp_outp()
http://source.winehq.org/source/dlls/winedos/ppdev.c#L295
this loops over all parport devices, changes data direction (in some cases) and
calls IO_pp_do_access()
3. IO_pp_do_access()
http://source.winehq.org/source/dlls/winedos/ppdev.c#L234
this claims the port, does the in/out and releases it again
I guess that claim/release in (3) can be eliminated (just claim it on first
access and never release as I doubt that anyone wants other applications to
mess with parallel port during EPROM programming).
The for loop in 2 could be probably improved somehow. Changing the data
direction might not be needed always, depending on previous access (but I don't
know parallel port programming details in Linux).
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
More information about the wine-bugs
mailing list