drivers/char/random.c:write_pool() cond_resched() needed
authorMatt Mackall <mpm@selenic.com>
Wed, 6 Feb 2008 09:37:20 +0000 (01:37 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Wed, 6 Feb 2008 18:41:06 +0000 (10:41 -0800)
Reduce latency for large writes to /dev/[u]random

Signed-off-by: Matt Mackall <mpm@selenic.com>
Cc: Sami Farin <safari-kernel@safari.iki.fi>
Cc: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/char/random.c

index c511a831f0c053e60220d39c1f45b94ee3a93cb7..f43c89f7c449831b2441f5f8f55441f2253a65ce 100644 (file)
@@ -1039,6 +1039,7 @@ write_pool(struct entropy_store *r, const char __user *buffer, size_t count)
                p += bytes;
 
                add_entropy_words(r, buf, (bytes + 3) / 4);
+               cond_resched();
        }
 
        return 0;