• Y
    lib: make bitmap_parselist_user() a wrapper on bitmap_parselist() · 281327c9
    Yury Norov 提交于
    Patch series "lib: rework bitmap_parselist and tests", v5.
    
    bitmap_parselist has been evolved from a pretty simple idea for long and
    now lacks for refactoring.  It is not structured, has nested loops and a
    set of opaque-named variables.
    
    Things are more complicated because bitmap_parselist() is a part of user
    interface, and its behavior should not change.
    
    In this patchset
     - bitmap_parselist_user() made a wrapper on bitmap_parselist();
     - bitmap_parselist() reworked (patch 2);
     - time measurement in test_bitmap_parselist switched to ktime_get
       (patch 3);
     - new tests introduced (patch 4), and
     - bitmap_parselist_user() testing enabled with the same testset as
       bitmap_parselist() (patch 5).
    
    This patch (of 5):
    
    Currently we parse user data byte after byte which leads to
    overcomplification of parsing algorithm.  The only user of
    bitmap_parselist_user() is not performance-critical, and so we can
    duplicate user data to kernel buffer and simply call bitmap_parselist().
    This rework lets us unify and simplify bitmap_parselist() and
    bitmap_parselist_user(), which is done in the following patch.
    
    Link: http://lkml.kernel.org/r/20190405173211.11373-2-ynorov@marvell.comSigned-off-by: NYury Norov <ynorov@marvell.com>
    Reviewed-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com>
    Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: Kees Cook <keescook@chromium.org>
    Cc: Matthew Wilcox <willy@infradead.org>
    Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
    Cc: Mike Travis <travis@sgi.com>
    Cc: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
    281327c9
bitmap.c 35.6 KB