In write_pool(), isn't cond_resched() needed after call to
add_entropy_words() because otherwise there can be large latencies
(think of command "dd if=/dev/zero of=/dev/random bs=100000000" ) ?
--
Do what you love because life is too short for anything else.
On Fri, Nov 30, 2007 at 11:58:10PM +0200, Sami Farin wrote:
> In write_pool(), isn't cond_resched() needed after call to
> add_entropy_words() because otherwise there can be large latencies
> (think of command "dd if=/dev/zero of=/dev/random bs=100000000" ) ?
Yes, looks like you're right.
Reduce latency for large writes to /dev/[u]random
Signed-off-by: Matt Mackall <[email protected]>
diff -r c60016ba6237 drivers/char/random.c
--- a/drivers/char/random.c Tue Nov 13 09:09:36 2007 -0800
+++ b/drivers/char/random.c Mon Dec 03 12:48:30 2007 -0600
@@ -1041,6 +1041,7 @@ write_pool(struct entropy_store *r, cons
p += bytes;
add_entropy_words(r, buf, (bytes + 3) / 4);
+ cond_resched();
}
return 0;
--
Mathematics is the supreme nostalgia of our time.