once: make helper generic for calling functions once
authorHannes Frederic Sowa <hannes@stressinduktion.org>
Wed, 7 Oct 2015 23:20:36 +0000 (01:20 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 8 Oct 2015 12:26:36 +0000 (05:26 -0700)
commitc90aeb948222a7b3d3391d232ec4f50fd8322ad3
treec4625885c7705076fb157b6394fa3969b44bd9f3
parent46234253b9363894a254844a6550b4cc5f3edfe8
once: make helper generic for calling functions once

Make the get_random_once() helper generic enough, so that functions
in general would only be called once, where one user of this is then
net_get_random_once().

The only implementation specific call is to get_random_bytes(), all
the rest of this *_once() facility would be duplicated among different
subsystems otherwise. The new DO_ONCE() helper will be used by prandom()
later on, but might also be useful for other scenarios/subsystems as
well where a one-time initialization in often-called, possibly fast
path code could occur.

Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/once.h
lib/once.c