lib: Add a simple prime number generator
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 22 Dec 2016 14:45:14 +0000 (14:45 +0000)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 27 Dec 2016 11:30:56 +0000 (12:30 +0100)
commitcf4a7207b1cb4a3c3fe3aa11a83c9d673722a7f5
tree664430c374186b63e808e08f65bca635747e14c9
parentb3ee963fe41d0034cf8b6aff1f0cc9c91bf8d478
lib: Add a simple prime number generator

Prime numbers are interesting for testing components that use multiplies
and divides, such as testing DRM's struct drm_mm alignment computations.

v2: Move to lib/, add selftest
v3: Fix initial constants (exclude 0/1 from being primes)
v4: More RCU markup to keep 0day/sparse happy
v5: Fix RCU unwind on module exit, add to kselftests
v6: Tidy computation of bitmap size
v7: for_each_prime_number_from()
v8: Compose small-primes using BIT() for easier verification
v9: Move rcu dance entirely into callers.
v10: Improve quote for Betrand's Postulate (aka Chebyshev's theorem)

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Lukas Wunner <lukas@wunner.de>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/20161222144514.3911-1-chris@chris-wilson.co.uk
include/linux/prime_numbers.h [new file with mode: 0644]
lib/Kconfig
lib/Makefile
lib/prime_numbers.c [new file with mode: 0644]
tools/testing/selftests/lib/prime_numbers.sh [new file with mode: 0755]