Fixed kernel loops in leading to slower performance in --increment mode

pull/919/head
jsteube 8 years ago
parent 0d31ee3b53
commit 72599fd109

@ -13,6 +13,7 @@
- Fixed infinite loop when using --loopback in case all hashes have been cracked - Fixed infinite loop when using --loopback in case all hashes have been cracked
- Fixed double fclose() using AMDGPU-Pro on sysfs compatible platform: Leading to segfault - Fixed double fclose() using AMDGPU-Pro on sysfs compatible platform: Leading to segfault
- Fixed kernel loops in leading to slower performance in --increment mode
- Removed access to readlink() on FreeBSD: Causes problem building hashcat - Removed access to readlink() on FreeBSD: Causes problem building hashcat
## ##

@ -861,6 +861,8 @@ typedef struct hc_device_param
u32 kernel_accel; u32 kernel_accel;
u32 kernel_loops_min; u32 kernel_loops_min;
u32 kernel_loops_max; u32 kernel_loops_max;
u32 kernel_loops_min_sav; // the _sav are required because each -i iteration
u32 kernel_loops_max_sav; // needs to recalculate the kernel_loops_min/max based on the current amplifier count
u32 kernel_accel_min; u32 kernel_accel_min;
u32 kernel_accel_max; u32 kernel_accel_max;
u32 kernel_power; u32 kernel_power;

@ -3076,6 +3076,9 @@ void opencl_ctx_devices_kernel_loops (hashcat_ctx_t *hashcat_ctx)
if (device_param->skipped == true) continue; if (device_param->skipped == true) continue;
device_param->kernel_loops_min = device_param->kernel_loops_min_sav;
device_param->kernel_loops_max = device_param->kernel_loops_max_sav;
if (device_param->kernel_loops_min < device_param->kernel_loops_max) if (device_param->kernel_loops_min < device_param->kernel_loops_max)
{ {
u32 innerloop_cnt = 0; u32 innerloop_cnt = 0;
@ -3320,7 +3323,6 @@ int opencl_session_begin (hashcat_ctx_t *hashcat_ctx)
device_param->kernel_loops_max = user_options->kernel_loops; device_param->kernel_loops_max = user_options->kernel_loops;
} }
/** /**
* device properties * device properties
*/ */
@ -3526,6 +3528,9 @@ int opencl_session_begin (hashcat_ctx_t *hashcat_ctx)
device_param->kernel_loops_max = kernel_loops_fixed; device_param->kernel_loops_max = kernel_loops_fixed;
} }
device_param->kernel_loops_min_sav = device_param->kernel_loops_min;
device_param->kernel_loops_max_sav = device_param->kernel_loops_max;
u32 kernel_accel_min = device_param->kernel_accel_min; u32 kernel_accel_min = device_param->kernel_accel_min;
u32 kernel_accel_max = device_param->kernel_accel_max; u32 kernel_accel_max = device_param->kernel_accel_max;

Loading…
Cancel
Save