summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-01-18bcache: rw aux search tree improvementKent Overstreet
2017-01-18bcache: bkey_unpack_pos()Kent Overstreet
slightly more efficient when we don't have a dynamically generated bkey_unpack_key()
2017-01-18bcache: add end_offset to struct bset_treeKent Overstreet
duplicates bset->u64s - for better data locality
2017-01-18bcache: drop a comparison in bset_search_tree()Kent Overstreet
2017-01-18bcache: squish struct btree some moreKent Overstreet
finally under half a kilobyte
2017-01-18bcache: kill struct btree_keysKent Overstreet
2017-01-18bcache: larger bfloats for base of aux search treeKent Overstreet
2017-01-18bcache: kill bset_tree->prev_offsetKent Overstreet
2017-01-18bcache: squish struct btree some moreKent Overstreet
2017-01-18bcache: use a single buffer for btree node aux treesKent Overstreet
2017-01-18bcache: uninline bkey_cmp_left_packed()Kent Overstreet
this is generally a slowpath
2017-01-18bcache: more aux search tree microoptimizationsKent Overstreet
2017-01-18Revert "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-18bcache: prefetch btree root in bch_btree_iter_init()Kent Overstreet
2017-01-18bcache: inline some fastpathsKent Overstreet
2017-01-18bcache: btree_node_iter_init() optimizationsKent Overstreet
2017-01-18bcache: round packed bkey format fields up to nearest byte when possibleKent 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-18bcache: jit bkey_unpack_key()Kent Overstreet
2017-01-18bcache: packed bkeys refactoringKent Overstreet
2017-01-18bcache: 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-18bcache: drop trace_bkey_pack_pos_failKent Overstreet
this isn't actually a slowpath - move the tracepoint to the actual slowpath
2017-01-18bcache: fix another copygc deadlockKent 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-18bcache: change copygc assertion to just print a warningKent Overstreet
also, fix the assertion...
2017-01-18bcache: fix btree node write tracepointKent Overstreet
b->nsets was changed, and it wasn't updated
2017-01-18bcachefs: fix a regression from extent whiteouts optimizationsKent 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-18bcache: allow __bch_write() to fragment io more than twice without slowpath loopKent Overstreet
2017-01-18bcache: Whiteout optimizations: extentsKent Overstreet
2017-01-18bcache: extent insert path refactoringKent Overstreet
2017-01-18bcache: re-enable btree_node_write() idx_to_writeKent Overstreet
2017-01-18bcache: btree_node_verify() improvementsKent Overstreet
2017-01-18bcache: Move unwritten whiteouts to a separate areaKent Overstreet
2017-01-18bcache: Optimize btree node writesKent Overstreet
2017-01-18bcache: fix a race with journal_seq_blacklist flushingKent 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-18bcache: New sorting infrastructureKent 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-18bcache: Ensure we create all required journal seq blacklist entriesKent Overstreet
2017-01-18bcache: btree insert path refactoringKent Overstreet
2017-01-18bcache: slim struct btree a bit moreKent Overstreet
2017-01-18bcache: kill b->cKent Overstreet
2017-01-18bcache: btree write path improvements, kill struct bbioKent Overstreet
2017-01-18bcache: More sort refactoringKent Overstreet
reduce b->c usage
2017-01-18bcache: Smarter journal flushingKent Overstreet
2017-01-18bcache: add support for BSET_SEPARATE_WHITEOUTS()Kent Overstreet
2017-01-18bcache: Kill btree write work item, flush via journal reclaimKent Overstreet
2017-01-18bcache: more aux search tree cleanupsKent Overstreet
2017-01-18bcache: make b->nsets normalKent Overstreet
2017-01-18bcache: Clean up sorting, kill btree_keys_ops, etc.Kent Overstreet
2017-01-18bcache: more fighting with gcc inliningKent Overstreet
gcc isn't inlining calls to constant fn pointers now...
2017-01-18bcachefs: 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-18bcache: Another journal assertionKent Overstreet
2017-01-18bcache: Inline journal fastpathsKent Overstreet