simplified "slows down when compression blocked"
This commit is contained in:
+6
-6
@@ -896,12 +896,12 @@ FIO_compressZstdFrame(const cRess_t* ressPtr,
|
|||||||
assert(zfp.produced >= previous_zfp_update.produced);
|
assert(zfp.produced >= previous_zfp_update.produced);
|
||||||
assert(g_nbWorkers >= 1);
|
assert(g_nbWorkers >= 1);
|
||||||
|
|
||||||
/* test if output speed is so slow that all buffers are full
|
/* test if compression is blocked
|
||||||
* and no further progress is possible
|
* either because output is slow and all buffers are full
|
||||||
* (neither compression nor adding more input into internal buffers) */
|
* or because input is slow and no job can start while waiting for at least one buffer to be filled.
|
||||||
if ( (zfp.ingested == previous_zfp_update.ingested) /* no data read : input buffer full */
|
* note : excluse starting part, since currentJobID > 1 */
|
||||||
&& (zfp.consumed == previous_zfp_update.consumed) /* no data compressed : no more buffer to compress OR compression is really slow */
|
if ( (zfp.consumed == previous_zfp_update.consumed) /* no data compressed : no data available, or no more buffer to compress to, OR compression is really slow (compression of a single block is slower than update rate)*/
|
||||||
&& (zfp.nbActiveWorkers == 0) /* confirmed : no compression : either no more buffer to compress OR not enough data to start first worker */
|
&& (zfp.nbActiveWorkers == 0) /* confirmed : no compression ongoing */
|
||||||
) {
|
) {
|
||||||
DISPLAYLEVEL(6, "all buffers full : compression stopped => slow down \n")
|
DISPLAYLEVEL(6, "all buffers full : compression stopped => slow down \n")
|
||||||
speedChange = slower;
|
speedChange = slower;
|
||||||
|
|||||||
Reference in New Issue
Block a user