Re: How do I provide a particular process with as much CPU time as possible?
On Mon, Jul 13, 2009 at 01:15:57PM -0500, Boyd Stephen Smith Jr. wrote:
> >I doesn't matter much if other processes are running. When the RAID-1
> >is resyncing, it slows it down some, but I can compile a kernel while
> >the game is running.
> It sounds like your problem is I/O, not CPU. You might use ionice to
> increase the I/O priority of the game as well.
What kind of I/O could be affected by this? Using the graphics card?
Accessing data stored in the RAM? If only disk I/O is affected, it
won't help: The game accesses the disks while it's loading, very
little sometimes to apparently load some game data that hasn't been
loaded yet while playing and when the game is being saved. The
savegame files are about 6MB, and it takes 55 to 60 seconds to
save. The RAID will sync with a speed of between 110 to about
65MB/sec, so the reason why it takes about a minute to create a 6MB
savegame isn't a problem with disk I/O.
The game is so slow that I do something else while playing; I just use
the autopilot to fly my ship ...
> You can't give a single process completely exclusive access to a CPU -- irqs
> and softirqs must be handled on the CPU that receives them.
There seems to be kernel support to do that.
> Ignoring those, the only way I can think to do this would be to change the
> affinity of all other processes to not include the CPU in question. Some of
> those realtime options you were looking at might be a better solution, but I
> haven't used them.
Yeah, having to move all other processes isn't a good solution. How
would I cancel the affinity when I'm not playing?
BTW, I've given up attaching the game to a particular CPU and trying
to mess with the priority/scheduling. That doesn't seem to make it
faster, but more unresponsive to keyboard inputs. I guess LGP just
needs to fix the game. The Windoze version apparently runs great on
hardware like I have.