Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sun, 21 Jun 2015 02:10:56 +0200
From: magnum <john.magnum@...hmail.com>
To: john-dev@...ts.openwall.com
Subject: Re: ignore or limit Idle=Y for non-CPU-only?

On 2015-06-20 23:10, Solar Designer wrote:
> magnum - what do you think of the below?  I think that for now we should
> simply make Idle=Y ignored when running OpenCL/CUDA formats, just like
> it is already ignored for OpenMP.

I'll have a look at implementing "ignore idle for GPU formats", in its 
simplest form, but it'll be yet another case of using ugly 
'strstr(fmt->params.label, "-opencl")' kludges since we don't have a 
FMT_GPU flag. Maybe it's time we add one.

> On Tue, Jun 02, 2015 at 03:56:14AM +0300, Solar Designer wrote:
>> There's another aspect here, though.  When targeting NVIDIA GPUs, we
>> often end up having a thread busily looping on the CPU.

>> So to avoid wasting that CPU core for potential concurrent CPU-using
>> instances of john, maybe we can check if the target device is an NVIDIA
>> card and if so only partially ignore Idle=Y: do invoke nice(20), but
>> don't use SCHED_IDLE and don't invoke sched_yield().  Unfortunately,
>> this would still cause some reduction in GPU usage when there's a
>> concurrent CPU-using john - just not as much reduction as the current
>> idle.c code causes.

I'll see if I can tuck this in too.

>> Or maybe we need to make Idle tri-state?  If so, what exactly would the
>> three states correspond to?

Like Yes/No/Auto? This is beyond most users so I think we should sort it 
out automagically. At least until someone complains our best-effort 
logic causes trouble.

magnum


Powered by blists - more mailing lists

Your e-mail address:

Powered by Openwall GNU/*/Linux - Powered by OpenVZ