Age | Commit message (Collapse) | Author | |
---|---|---|---|
2017-01-18 | bcache: rw aux search tree improvement | Kent Overstreet | |
2017-01-18 | bcache: bkey_unpack_pos() | Kent Overstreet | |
slightly more efficient when we don't have a dynamically generated bkey_unpack_key() | |||
2017-01-18 | bcache: add end_offset to struct bset_tree | Kent Overstreet | |
duplicates bset->u64s - for better data locality | |||
2017-01-18 | bcache: drop a comparison in bset_search_tree() | Kent Overstreet | |
2017-01-18 | bcache: squish struct btree some more | Kent Overstreet | |
finally under half a kilobyte | |||
2017-01-18 | bcache: kill struct btree_keys | Kent Overstreet | |
2017-01-18 | bcache: larger bfloats for base of aux search tree | Kent Overstreet | |
2017-01-18 | bcache: kill bset_tree->prev_offset | Kent Overstreet | |
2017-01-18 | bcache: squish struct btree some more | Kent Overstreet | |
2017-01-18 | bcache: use a single buffer for btree node aux trees | Kent Overstreet | |
2017-01-18 | bcache: uninline bkey_cmp_left_packed() | Kent Overstreet | |
this is generally a slowpath | |||
2017-01-18 | bcache: more aux search tree microoptimizations | Kent Overstreet | |
2017-01-18 | Revert "bcache: Optimization for aux search tree slowpath" | Kent Overstreet | |
This reverts commit 27b3474087af56511602a52050a3f2ec0fc69325. Turned out to not really help, gonna go with a different approach. | |||
2017-01-18 | bcache: prefetch btree root in bch_btree_iter_init() | Kent Overstreet | |
2017-01-18 | bcache: inline some fastpaths | Kent Overstreet | |
2017-01-18 | bcache: btree_node_iter_init() optimizations | Kent Overstreet | |
2017-01-18 | bcache: round packed bkey format fields up to nearest byte when possible | Kent Overstreet | |
wasn't useful with the old bkey_unpack_key(), but with the new dynamic codegen bkey_unpack_key() we can take advantage of this to avoid shifts and generate smaller code | |||
2017-01-18 | bcache: jit bkey_unpack_key() | Kent Overstreet | |
2017-01-18 | bcache: packed bkeys refactoring | Kent Overstreet | |
2017-01-18 | bcache: asm bkey_cmp_packed() | Kent Overstreet | |
shouldn't need asm for this, but gcc is generating retarded code... later, we should precompute bkey_format_key_bits() and stash that somewhere | |||
2017-01-18 | bcache: drop trace_bkey_pack_pos_fail | Kent Overstreet | |
this isn't actually a slowpath - move the tracepoint to the actual slowpath | |||
2017-01-18 | bcache: fix another copygc deadlock | Kent Overstreet | |
since btree node reserves got reworked, btree updates can end up blocking on copygc - which means we have to run index updates for copygc out of a separate workqueue. also fix another deadlock related to rwsems being unfair. | |||
2017-01-18 | bcache: change copygc assertion to just print a warning | Kent Overstreet | |
also, fix the assertion... | |||
2017-01-18 | bcache: fix btree node write tracepoint | Kent Overstreet | |
b->nsets was changed, and it wasn't updated | |||
2017-01-18 | bcachefs: fix a regression from extent whiteouts optimizations | Kent Overstreet | |
checking bkey_whiteout(&s->insert->k->k) in extent_insert_committed() was incorrect, because if we were already finished, the insert key's size would be 0 and 0 size extents are always KEY_TYPE_DELETED (i.e. whiteouts). | |||
2017-01-18 | bcache: allow __bch_write() to fragment io more than twice without slowpath loop | Kent Overstreet | |
2017-01-18 | bcache: Whiteout optimizations: extents | Kent Overstreet | |
2017-01-18 | bcache: extent insert path refactoring | Kent Overstreet | |
2017-01-18 | bcache: re-enable btree_node_write() idx_to_write | Kent Overstreet | |
2017-01-18 | bcache: btree_node_verify() improvements | Kent Overstreet | |
2017-01-18 | bcache: Move unwritten whiteouts to a separate area | Kent Overstreet | |
2017-01-18 | bcache: Optimize btree node writes | Kent Overstreet | |
2017-01-18 | bcache: fix a race with journal_seq_blacklist flushing | Kent Overstreet | |
the code was checking for missing journal entries in journal replay - but by that point, journal_seq_blacklist entries could already have been flushed and removed, causing us to spuriously think we were missing journal entries | |||
2017-01-18 | bcache: New sorting infrastructure | Kent Overstreet | |
The upcoming whiteout optimizations have to do new kinds of sorting, add some new infrastructure to abstract out the comparison function Later, we should use this for the sorts we do when reading in a btree node (bch_key_sort_fix_overlapping and bch_extent_sort_fix_overlapping). | |||
2017-01-18 | bcache: Ensure we create all required journal seq blacklist entries | Kent Overstreet | |
2017-01-18 | bcache: btree insert path refactoring | Kent Overstreet | |
2017-01-18 | bcache: slim struct btree a bit more | Kent Overstreet | |
2017-01-18 | bcache: kill b->c | Kent Overstreet | |
2017-01-18 | bcache: btree write path improvements, kill struct bbio | Kent Overstreet | |
2017-01-18 | bcache: More sort refactoring | Kent Overstreet | |
reduce b->c usage | |||
2017-01-18 | bcache: Smarter journal flushing | Kent Overstreet | |
2017-01-18 | bcache: add support for BSET_SEPARATE_WHITEOUTS() | Kent Overstreet | |
2017-01-18 | bcache: Kill btree write work item, flush via journal reclaim | Kent Overstreet | |
2017-01-18 | bcache: more aux search tree cleanups | Kent Overstreet | |
2017-01-18 | bcache: make b->nsets normal | Kent Overstreet | |
2017-01-18 | bcache: Clean up sorting, kill btree_keys_ops, etc. | Kent Overstreet | |
2017-01-18 | bcache: more fighting with gcc inlining | Kent Overstreet | |
gcc isn't inlining calls to constant fn pointers now... | |||
2017-01-18 | bcachefs: use BCH_HASH_SET_MUST_CREATE in bch_dirent_create() | Kent Overstreet | |
Not a functional change currently - the VFS locks the directory during creates - but this means we don't rely on that and can maybe relax that locking later. | |||
2017-01-18 | bcache: Another journal assertion | Kent Overstreet | |
2017-01-18 | bcache: Inline journal fastpaths | Kent Overstreet | |