diff options
author | Jinshan Xiong <jinshan.xiong@intel.com> | 2016-12-01 17:35:32 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-12-06 10:37:55 +0100 |
commit | 17037fbd56b04c47ba06ef9833227d1a7eeb6861 (patch) | |
tree | a130ddb98383152b0c63c27a6c2587df0cc69d22 /drivers/staging/lustre/lustre/include/obd.h | |
parent | aed71a15bbd9dbce4af7cd8f1e1571e21840b2b3 (diff) | |
download | op-kernel-dev-17037fbd56b04c47ba06ef9833227d1a7eeb6861.zip op-kernel-dev-17037fbd56b04c47ba06ef9833227d1a7eeb6861.tar.gz |
staging: lustre: osc: Performance tune for LRU
Early launch page LRU work in osc_io_rw_iter_init();
Change the page LRU shrinking policy by OSC attributes;
Delete the contented lock osc_object::oo_seatbelt
Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5108
Reviewed-on: http://review.whamcloud.com/10458
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: James Simmons <jsimmons@infradead.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/lustre/lustre/include/obd.h')
-rw-r--r-- | drivers/staging/lustre/lustre/include/obd.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/staging/lustre/lustre/include/obd.h b/drivers/staging/lustre/lustre/include/obd.h index 6d6e479..0f48e9c 100644 --- a/drivers/staging/lustre/lustre/include/obd.h +++ b/drivers/staging/lustre/lustre/include/obd.h @@ -267,6 +267,14 @@ struct client_obd { * allowed to have multiple threads shrinking LRU cache. */ atomic_t cl_lru_shrinkers; + /** The time when this LRU cache was last used. */ + time64_t cl_lru_last_used; + /** stats: how many reclaims have happened for this client_obd. + * reclaim and shrink - shrink is async, voluntarily rebalancing; + * reclaim is sync, initiated by IO thread when the LRU slots are + * in shortage. + */ + u64 cl_lru_reclaim; /** List of LRU pages for this client_obd */ struct list_head cl_lru_list; /** Lock for LRU page list */ |