summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2016-12-12bcache: treebitvec thingtreebitvecKent Overstreet
2016-12-12bcache: don't flush journal unnecessarilyKent Overstreet
2016-12-12bcache: short circuit bch_prio_write() and journal flush when possibleKent Overstreet
2016-12-12bcache: add field to superblock for maximum journal entry sizeKent Overstreet
2016-12-12bcache: Refactor write path to not split bios unnecessarilyKent Overstreet
compression code is a good deal saner now, too
2016-12-11bcache: stash journal entry sequence number in struct journal_resKent Overstreet
2016-12-11bcache: cancel journal write timer when doing journal writeKent Overstreet
2016-12-11bcache: fix journal bug with prio_bucketsKent Overstreet
this code is all really stupid, need to finish off the new transaction machinery and get prio/gen journal entry converted to that
2016-12-09bcachefs: fix find_get_entry() usageKent Overstreet
2016-12-09bcache: increase default journal write delay for spinning rustKent Overstreet
2016-12-08bcache: factor out eytzinger.hKent Overstreet
2016-12-07bcache: fix bad shifts in inorder_to_tree()Kent Overstreet
caught by ubsan
2016-12-07bcache: fix hash usage for journal has_inode hashKent Overstreet
2016-12-07bcache: fix uninitialized fieldKent Overstreet
bug was only when replication was enabled
2016-12-06bcache: rw aux search tree improvementKent Overstreet
2016-12-06bcache: bkey_unpack_pos()Kent Overstreet
slightly more efficient when we don't have a dynamically generated bkey_unpack_key()
2016-12-06bcache: add end_offset to struct bset_treeKent Overstreet
duplicates bset->u64s - for better data locality
2016-12-06bcache: drop a comparison in bset_search_tree()Kent Overstreet
2016-12-06bcache: squish struct btree some moreKent Overstreet
finally under half a kilobyte
2016-12-06bcache: kill struct btree_keysKent Overstreet
2016-12-06bcache: larger bfloats for base of aux search treeKent Overstreet
2016-12-06bcache: kill bset_tree->prev_offsetKent Overstreet
2016-12-06bcache: squish struct btree some moreKent Overstreet
2016-12-06bcache: use a single buffer for btree node aux treesKent Overstreet
2016-12-06bcache: uninline bkey_cmp_left_packed()Kent Overstreet
this is generally a slowpath
2016-12-06bcache: more aux search tree microoptimizationsKent Overstreet
2016-12-06Revert "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.
2016-12-06bcache: prefetch btree root in bch_btree_iter_init()Kent Overstreet
2016-12-06bcache: inline some fastpathsKent Overstreet
2016-12-06bcache: btree_node_iter_init() optimizationsKent Overstreet
2016-12-06bcache: 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
2016-12-06bcache: jit bkey_unpack_key()Kent Overstreet
2016-12-06bcache: packed bkeys refactoringKent Overstreet
2016-12-06bcache: 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
2016-12-06bcache: drop trace_bkey_pack_pos_failKent Overstreet
this isn't actually a slowpath - move the tracepoint to the actual slowpath
2016-12-06bcache: 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.
2016-12-06bcache: change copygc assertion to just print a warningKent Overstreet
also, fix the assertion...
2016-12-06bcache: fix btree node write tracepointKent Overstreet
b->nsets was changed, and it wasn't updated
2016-12-05bcachefs: 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).
2016-12-02bcache: allow __bch_write() to fragment io more than twice without slowpath loopKent Overstreet
2016-11-28bcache: Whiteout optimizations: extentsKent Overstreet
2016-11-28bcache: extent insert path refactoringKent Overstreet
2016-11-28bcache: re-enable btree_node_write() idx_to_writeKent Overstreet
2016-11-28bcache: btree_node_verify() improvementsKent Overstreet
2016-11-28bcache: Move unwritten whiteouts to a separate areaKent Overstreet
2016-11-23bcache: Optimize btree node writesKent Overstreet
2016-11-23bcache: 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
2016-11-23bcache: 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).
2016-11-23bcache: Ensure we create all required journal seq blacklist entriesKent Overstreet
2016-11-23bcache: btree insert path refactoringKent Overstreet