Commit Graph

188 Commits

Author SHA1 Message Date
Kent Overstreet
fbe4e11c26 Update bcachefs sources to 2115a2ffde bcachefs: Kill bch2_verify_bucket_evacuated() 2023-04-21 04:02:48 -04:00
Kent Overstreet
807b250927 Update bcachefs sources to 504729f99c bcachefs: Allow answering y or n to all fsck errors of given type
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-04-15 14:41:11 -04:00
Kent Overstreet
7f102ee83d Update bcachefs sources to 8fd009dd76 bcachefs: Rip out code for storing backpointers in alloc keys
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-03-31 18:02:57 -04:00
Kent Overstreet
0206d42daf Update bcachefs sources to 3856459b1b bcachefs: bch2_btree_iter_peek_node_and_restart()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-03-06 04:11:50 -05:00
Kent Overstreet
b0c9ad15f4 Update bcachefs sources to 171da96d76 bcachefs: Drop some anonymous structs, unions 2023-03-04 23:33:25 -05:00
Kent Overstreet
d010a21653 linux shim: hlist_unhashed()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-03-02 23:00:03 -05:00
Kent Overstreet
30cca2e94d Update bcachefs sources to ca97ee3577 bcachefs: bch2_btree_iter_peek_and_restart_outlined()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-02-27 21:36:36 -05:00
Kent Overstreet
da6a356895 Update bcachefs sources to 8e1519ccb6 bcachefs: Add tracepoint & counter for btree split race
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-02-20 20:03:34 -05:00
Kent Overstreet
46a6b9210c Update bcachefs sources to 1b14994029 bcachefs: Fragmentation LRU 2023-02-17 17:51:22 -05:00
Kent Overstreet
c1677df62e Fix cpu_relax()
cpu_relax() is supposed to be a compiler barrier - this fixes a bug with
btree_write_buffer_flush() getting stuck.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-02-13 17:51:14 -05:00
Kent Overstreet
e160e9b979 Update bcachefs sources to 3e0c5b0722 fixup! bcachefs: Btree write buffer 2023-02-12 21:41:03 -05:00
Kent Overstreet
a104f0407b Update bcachefs sources to ea93c26e98 fixup! bcachefs: We can handle missing btree roots for all alloc btrees
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-02-09 18:36:24 -05:00
Kent Overstreet
e2670a38d1 Change memory reclaim
- Spin up a background thread to call the shrinkers every 1 second
 - Memory allocations will only call reclaim after a failed allocation,
   not every single time

This will be a major performance boost on allocation intensive
workloads.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2022-12-19 14:47:42 -05:00
Kent Overstreet
3c0484687d Update bcachefs sources to 84505cfd37 bcachefs: Go RW before check_alloc_info() 2022-12-13 18:27:31 -05:00
Kent Overstreet
a06dee6da2 Update bcachefs sources to ed2a5f4260 bcachefs: Add a missing bch2_btree_path_traverse() call 2022-12-09 16:40:07 -05:00
Kent Overstreet
934a84dfaf Update bcachefs sources to 5963d1b1a4 bcacehfs: Fix bch2_get_alloc_in_memory_pos() 2022-11-26 17:09:59 -05:00
Stijn Tintel
48eefee749 Fix build against musl libc.
The musl C library does not define __attribute_const__. Add it to
include/linux/compiler.h with a guard to fix build against musl libc.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2022-11-24 06:21:06 +02:00
Kent Overstreet
c1e4d447f6 Update bcachefs sources to 8d3fc97ca3 bcachefs: Fixes for building in userspace 2022-11-13 20:07:22 -05:00
Kent Overstreet
ae43a58d97 Update bcachefs sources to 70fa0c1ff4 fixup! bcachefs: Btree key cache improvements 2022-10-23 18:24:08 -04:00
Kent Overstreet
188b6d0c8e Update bcachefs sources to cd779e0cc5 bcachefs: Skip inode unpack/pack in bch2_extent_update() 2022-10-22 14:41:54 -04:00
Kent Overstreet
e0a51ccce8 Update bcachefs sources to 3e93567c51 bcachefs: Switch to local_clock() for fastpath time source 2022-10-15 01:04:30 -04:00
Kent Overstreet
0398adf20f fixup! Don't run shrinkers without GFP_KERNEL
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2022-10-11 03:22:59 -04:00
Kent Overstreet
81aef33957 Don't run shrinkers without GFP_KERNEL
This would correspond to GFP_RECLAIM in the kernel - but we don't
distinguish between different types of reclaim here.

This solves a deadlock in the btree node memory allocation path - we
allocate with the btree node cache lock held but without GFP_KERNEL set.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2022-10-11 00:39:06 -04:00
Kent Overstreet
72add8822c Update bcachefs sources to 47ffed9fad bcachefs: bch2_btree_delete_range_trans() now uses peek_upto() 2022-10-10 00:10:45 -04:00
Kent Overstreet
8d6138baac Update bcachefs sources to cbccc6d869 bcachefs: Ratelimit ec error message 2022-10-09 02:33:05 -04:00
Kent Overstreet
99caca2c70 Update bcachefs sources to 24c6361e20 bcachefs: Fix a trans path overflow in bch2_btree_delete_range_trans()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2022-09-28 11:41:03 -04:00
Kent Overstreet
d01f633041 Update bcachefs sources to 176718966e bcachefs: Re-enable hash_redo_key() 2022-09-04 14:42:05 -04:00
Kent Overstreet
dded444b20 Update bcachefs sources to dfaf9a6ee2 lib/printbuf: Clean up headers 2022-08-18 12:49:48 -04:00
Kent Overstreet
ddac1641ee Update bcachefs sources to 90a9c61e2b bcachefs: Switch bch2_btree_delete_range() to bch2_trans_run() 2022-08-11 17:34:34 -04:00
Kent Overstreet
79d39bd7ce Update bcachefs sources to d82da7126f fixup! bcachefs: for_each_btree_key2() 2022-07-17 05:20:54 -04:00
Kent Overstreet
bad0c8c507 Update bcachefs sources to 95ff72a6c1 fixup! mm: Centralize & improve oom reporting in show_mem.c 2022-06-27 15:58:48 -04:00
Kent Overstreet
64ddfc9fc5 hweight32()
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2022-06-27 15:58:39 -04:00
Kent Overstreet
23dc00de78 Fix printk_ratelimited()
printk_ratelimited was behind an #ifdef CONFIG_PRINTK, which we don't
define, so it was a complete noop - oops.

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2022-06-22 22:05:39 -04:00
Kent Overstreet
03b8098d37 cmd_dump: Use buffered IO for reading device metadata
We're reading device metadat in mostly sequential order - buffered IO
will be faster than O_DIRECT.

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2022-06-18 18:33:25 -04:00
Kent Overstreet
ffbf806d5c Update bcachefs sources to 3704d0779c bcachefs: Improved human readable integer parsing 2022-06-11 18:14:06 -04:00
Kent Overstreet
6ac37db841 Update bcachefs sources to 24f7e08cd8 bcachefs: shrinker.to_text() methods 2022-06-09 15:07:25 -04:00
Kent Overstreet
46b2c553aa Update bcachefs sources to fad6d13aa5 fixup! bcachefs: Add persistent counters 2022-05-30 23:24:10 -04:00
Kent Overstreet
6f5afc0c12 Update bcachefs sources to bdf6d7c135 fixup! bcachefs: Kill journal buf bloom filter 2022-05-02 18:42:06 -04:00
Kent Overstreet
04ad4ade4c Update bcachefs sources to fb8a27f6d4 bcachefs: Delete a redundant tracepoint 2022-04-11 22:40:16 -04:00
Kent Overstreet
986533d8d5 Update bcachefs sources to 6ddf061e68 bcachefs: Use a genradix for reading journal entries 2022-04-08 19:26:30 -04:00
Kent Overstreet
498874fdb7 Update bcachefs sources to 91e6c3e0d5 bcachefs: Gap buffer for journal keys 2022-04-04 13:48:45 -04:00
Kent Overstreet
32aabbc4e5 Update bcachefs sources to ab3b6e7dd6 bcachefs: Fix pr_buf() calls 2022-04-02 16:36:29 -04:00
Kent Overstreet
70f2681838 Update bcachefs sources to 5e392aed7a bcachefs: Kill bch2_alloc_write() 2022-03-31 16:57:08 -04:00
Kent Overstreet
cc1b64e992 Flush standard output before popping assertions
Seeing error messages before we die generally makes assertions easier to
debug.

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2022-03-30 23:20:39 -04:00
Kent Overstreet
e240b4ae86 Update bcachefs sources to f638850417 bcachefs: bch2_trans_log_msg() 2022-03-30 17:40:37 -04:00
Kent Overstreet
1a9d73b5c0 Shrinker improvements
After memory allocation failure, don't rely on /proc/meminfo to figure
out how much memory we should free - instead unconditionally free 1/8th
of each cache.

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2022-03-21 20:20:09 -04:00
Kent Overstreet
205d75307a Better bio_alloc_bioset()
bio_alloc_bioset() now uses mempools, so we don't segfault on memory
allocation failure.

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2022-03-21 18:21:31 -04:00
Kent Overstreet
74148a8ee5 Update bcachefs sources to 0e705f5944 fixup! bcachefs: Refactor bch2_btree_node_mem_alloc() 2022-03-21 02:13:02 -04:00
Kent Overstreet
3765483ff0 Update bcachefs sources to f05b3c1af9 bcachefs: Improve bucket_alloc_fail tracepoint 2022-03-13 19:21:13 -04:00
Kent Overstreet
d34e731082 Update bcachefs sources to e48731a188 bcachefs: Fix BTREE_TRIGGER_WANTS_OLD_AND_NEW 2022-03-13 19:20:59 -04:00