Loading drivers/md/bcache/bcache.h +0 −2 Original line number Original line Diff line number Diff line Loading @@ -666,11 +666,9 @@ struct cache_set { unsigned congested_read_threshold_us; unsigned congested_read_threshold_us; unsigned congested_write_threshold_us; unsigned congested_write_threshold_us; spinlock_t sort_time_lock; struct time_stats sort_time; struct time_stats sort_time; struct time_stats btree_gc_time; struct time_stats btree_gc_time; struct time_stats btree_split_time; struct time_stats btree_split_time; spinlock_t btree_read_time_lock; struct time_stats btree_read_time; struct time_stats btree_read_time; struct time_stats try_harder_time; struct time_stats try_harder_time; Loading drivers/md/bcache/bset.c +1 −6 Original line number Original line Diff line number Diff line Loading @@ -1077,11 +1077,8 @@ static void __btree_sort(struct btree *b, struct btree_iter *iter, if (b->written) if (b->written) bset_build_written_tree(b); bset_build_written_tree(b); if (!start) { if (!start) spin_lock(&b->c->sort_time_lock); bch_time_stats_update(&b->c->sort_time, start_time); bch_time_stats_update(&b->c->sort_time, start_time); spin_unlock(&b->c->sort_time_lock); } } } void bch_btree_sort_partial(struct btree *b, unsigned start) void bch_btree_sort_partial(struct btree *b, unsigned start) Loading Loading @@ -1128,9 +1125,7 @@ void bch_btree_sort_into(struct btree *b, struct btree *new) btree_mergesort(b, new->sets->data, &iter, false, true); btree_mergesort(b, new->sets->data, &iter, false, true); spin_lock(&b->c->sort_time_lock); bch_time_stats_update(&b->c->sort_time, start_time); bch_time_stats_update(&b->c->sort_time, start_time); spin_unlock(&b->c->sort_time_lock); bkey_copy_key(&new->key, &b->key); bkey_copy_key(&new->key, &b->key); new->sets->size = 0; new->sets->size = 0; Loading drivers/md/bcache/btree.c +0 −3 Original line number Original line Diff line number Diff line Loading @@ -317,10 +317,7 @@ void bch_btree_node_read(struct btree *b) goto err; goto err; bch_btree_node_read_done(b); bch_btree_node_read_done(b); spin_lock(&b->c->btree_read_time_lock); bch_time_stats_update(&b->c->btree_read_time, start_time); bch_time_stats_update(&b->c->btree_read_time, start_time); spin_unlock(&b->c->btree_read_time_lock); return; return; err: err: Loading drivers/md/bcache/super.c +6 −2 Original line number Original line Diff line number Diff line Loading @@ -1435,9 +1435,13 @@ struct cache_set *bch_cache_set_alloc(struct cache_sb *sb) init_waitqueue_head(&c->try_wait); init_waitqueue_head(&c->try_wait); init_waitqueue_head(&c->bucket_wait); init_waitqueue_head(&c->bucket_wait); closure_init_unlocked(&c->uuid_write); closure_init_unlocked(&c->uuid_write); spin_lock_init(&c->sort_time_lock); mutex_init(&c->sort_lock); mutex_init(&c->sort_lock); spin_lock_init(&c->btree_read_time_lock); spin_lock_init(&c->sort_time.lock); spin_lock_init(&c->btree_gc_time.lock); spin_lock_init(&c->btree_split_time.lock); spin_lock_init(&c->btree_read_time.lock); spin_lock_init(&c->try_harder_time.lock); bch_moving_init_cache_set(c); bch_moving_init_cache_set(c); Loading drivers/md/bcache/util.c +9 −3 Original line number Original line Diff line number Diff line Loading @@ -168,10 +168,14 @@ int bch_parse_uuid(const char *s, char *uuid) void bch_time_stats_update(struct time_stats *stats, uint64_t start_time) void bch_time_stats_update(struct time_stats *stats, uint64_t start_time) { { uint64_t now = local_clock(); uint64_t now, duration, last; uint64_t duration = time_after64(now, start_time) spin_lock(&stats->lock); now = local_clock(); duration = time_after64(now, start_time) ? now - start_time : 0; ? now - start_time : 0; uint64_t last = time_after64(now, stats->last) last = time_after64(now, stats->last) ? now - stats->last : 0; ? now - stats->last : 0; stats->max_duration = max(stats->max_duration, duration); stats->max_duration = max(stats->max_duration, duration); Loading @@ -188,6 +192,8 @@ void bch_time_stats_update(struct time_stats *stats, uint64_t start_time) } } stats->last = now ?: 1; stats->last = now ?: 1; spin_unlock(&stats->lock); } } /** /** Loading Loading
drivers/md/bcache/bcache.h +0 −2 Original line number Original line Diff line number Diff line Loading @@ -666,11 +666,9 @@ struct cache_set { unsigned congested_read_threshold_us; unsigned congested_read_threshold_us; unsigned congested_write_threshold_us; unsigned congested_write_threshold_us; spinlock_t sort_time_lock; struct time_stats sort_time; struct time_stats sort_time; struct time_stats btree_gc_time; struct time_stats btree_gc_time; struct time_stats btree_split_time; struct time_stats btree_split_time; spinlock_t btree_read_time_lock; struct time_stats btree_read_time; struct time_stats btree_read_time; struct time_stats try_harder_time; struct time_stats try_harder_time; Loading
drivers/md/bcache/bset.c +1 −6 Original line number Original line Diff line number Diff line Loading @@ -1077,11 +1077,8 @@ static void __btree_sort(struct btree *b, struct btree_iter *iter, if (b->written) if (b->written) bset_build_written_tree(b); bset_build_written_tree(b); if (!start) { if (!start) spin_lock(&b->c->sort_time_lock); bch_time_stats_update(&b->c->sort_time, start_time); bch_time_stats_update(&b->c->sort_time, start_time); spin_unlock(&b->c->sort_time_lock); } } } void bch_btree_sort_partial(struct btree *b, unsigned start) void bch_btree_sort_partial(struct btree *b, unsigned start) Loading Loading @@ -1128,9 +1125,7 @@ void bch_btree_sort_into(struct btree *b, struct btree *new) btree_mergesort(b, new->sets->data, &iter, false, true); btree_mergesort(b, new->sets->data, &iter, false, true); spin_lock(&b->c->sort_time_lock); bch_time_stats_update(&b->c->sort_time, start_time); bch_time_stats_update(&b->c->sort_time, start_time); spin_unlock(&b->c->sort_time_lock); bkey_copy_key(&new->key, &b->key); bkey_copy_key(&new->key, &b->key); new->sets->size = 0; new->sets->size = 0; Loading
drivers/md/bcache/btree.c +0 −3 Original line number Original line Diff line number Diff line Loading @@ -317,10 +317,7 @@ void bch_btree_node_read(struct btree *b) goto err; goto err; bch_btree_node_read_done(b); bch_btree_node_read_done(b); spin_lock(&b->c->btree_read_time_lock); bch_time_stats_update(&b->c->btree_read_time, start_time); bch_time_stats_update(&b->c->btree_read_time, start_time); spin_unlock(&b->c->btree_read_time_lock); return; return; err: err: Loading
drivers/md/bcache/super.c +6 −2 Original line number Original line Diff line number Diff line Loading @@ -1435,9 +1435,13 @@ struct cache_set *bch_cache_set_alloc(struct cache_sb *sb) init_waitqueue_head(&c->try_wait); init_waitqueue_head(&c->try_wait); init_waitqueue_head(&c->bucket_wait); init_waitqueue_head(&c->bucket_wait); closure_init_unlocked(&c->uuid_write); closure_init_unlocked(&c->uuid_write); spin_lock_init(&c->sort_time_lock); mutex_init(&c->sort_lock); mutex_init(&c->sort_lock); spin_lock_init(&c->btree_read_time_lock); spin_lock_init(&c->sort_time.lock); spin_lock_init(&c->btree_gc_time.lock); spin_lock_init(&c->btree_split_time.lock); spin_lock_init(&c->btree_read_time.lock); spin_lock_init(&c->try_harder_time.lock); bch_moving_init_cache_set(c); bch_moving_init_cache_set(c); Loading
drivers/md/bcache/util.c +9 −3 Original line number Original line Diff line number Diff line Loading @@ -168,10 +168,14 @@ int bch_parse_uuid(const char *s, char *uuid) void bch_time_stats_update(struct time_stats *stats, uint64_t start_time) void bch_time_stats_update(struct time_stats *stats, uint64_t start_time) { { uint64_t now = local_clock(); uint64_t now, duration, last; uint64_t duration = time_after64(now, start_time) spin_lock(&stats->lock); now = local_clock(); duration = time_after64(now, start_time) ? now - start_time : 0; ? now - start_time : 0; uint64_t last = time_after64(now, stats->last) last = time_after64(now, stats->last) ? now - stats->last : 0; ? now - stats->last : 0; stats->max_duration = max(stats->max_duration, duration); stats->max_duration = max(stats->max_duration, duration); Loading @@ -188,6 +192,8 @@ void bch_time_stats_update(struct time_stats *stats, uint64_t start_time) } } stats->last = now ?: 1; stats->last = now ?: 1; spin_unlock(&stats->lock); } } /** /** Loading