kernel_optimize_test/drivers/md/bcache
Coly Li 0b96da639a bcache: ignore pending signals when creating gc and allocator thread
When run a cache set, all the bcache btree node of this cache set will
be checked by bch_btree_check(). If the bcache btree is very large,
iterating all the btree nodes will occupy too much system memory and
the bcache registering process might be selected and killed by system
OOM killer. kthread_run() will fail if current process has pending
signal, therefore the kthread creating in run_cache_set() for gc and
allocator kernel threads are very probably failed for a very large
bcache btree.

Indeed such OOM is safe and the registering process will exit after
the registration done. Therefore this patch flushes pending signals
during the cache set start up, specificly in bch_cache_allocator_start()
and bch_gc_thread_start(), to make sure run_cache_set() won't fail for
large cahced data set.

Signed-off-by: Coly Li <colyli@suse.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2020-02-13 08:53:49 -07:00
..
alloc.c bcache: ignore pending signals when creating gc and allocator thread 2020-02-13 08:53:49 -07:00
bcache.h bcache: add readahead cache policy options via sysfs interface 2020-02-01 07:55:39 -07:00
bset.c bcache: add code comments for state->pool in __btree_sort() 2020-01-23 11:40:02 -07:00
bset.h bcache: explicity type cast in bset_bkey_last() 2020-02-01 07:55:39 -07:00
btree.c bcache: ignore pending signals when creating gc and allocator thread 2020-02-13 08:53:49 -07:00
btree.h bcache: remove member accessed from struct btree 2020-01-23 11:40:02 -07:00
closure.c bcache: don't export symbols 2019-11-13 15:42:51 -07:00
closure.h bcache: fix typo in code comments of closure_return_with_destructor() 2018-10-08 08:19:43 -06:00
debug.c bcache: Fix an error code in bch_dump_read() 2019-09-03 08:08:29 -06:00
debug.h bcache: add identifier names to arguments of function definitions 2018-08-11 15:46:41 -06:00
extents.c bcache: treat stale && dirty keys as bad keys 2019-02-09 07:18:31 -07:00
extents.h bcache: add identifier names to arguments of function definitions 2018-08-11 15:46:41 -06:00
io.c bcache: ignore read-ahead request failure on backing device 2019-06-28 07:39:14 -06:00
journal.c bcache: fix incorrect data type usage in btree_flush_write() 2020-02-01 07:55:39 -07:00
journal.h Revert "bcache: fix fifo index swapping condition in journal_pin_cmp()" 2019-11-18 08:35:47 -07:00
Kconfig treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
Makefile bcache: remove the extra cflags for request.o 2019-11-13 15:42:50 -07:00
movinggc.c bcache: style fix to add a blank line after declarations 2018-08-11 15:46:41 -06:00
request.c bcache: add readahead cache policy options via sysfs interface 2020-02-01 07:55:39 -07:00
request.h bcache: Clean up bch_get_congested() 2019-04-24 10:56:27 -06:00
stats.c bcache: fix memory corruption in bch_cache_accounting_clear() 2020-02-01 07:55:39 -07:00
stats.h bcache: add identifier names to arguments of function definitions 2018-08-11 15:46:41 -06:00
super.c bcache: check return value of prio_read() 2020-02-01 07:55:39 -07:00
sysfs.c bcache: add readahead cache policy options via sysfs interface 2020-02-01 07:55:39 -07:00
sysfs.h bcache: add sysfs_strtoul_bool() for setting bit-field variables 2019-02-09 07:18:32 -07:00
trace.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
util.c bcache: avoid to use bio_for_each_segment_all() in bch_bio_alloc_pages() 2019-02-15 08:40:11 -07:00
util.h bcache: Revert "bcache: fix high CPU occupancy during journal" 2019-06-28 07:39:17 -06:00
writeback.c bcache: add idle_max_writeback_rate sysfs interface 2019-11-13 15:42:50 -07:00
writeback.h bcache: never writeback a discard operation 2019-02-09 07:18:31 -07:00