Re: ceph osd commit latency increase over time, until restart

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



another mempool dump after 1h run. (latency ok)

Biggest difference:

before restart
-------------
"bluestore_cache_other": { 
"items": 48661920, 
"bytes": 1539544228 
}, 
"bluestore_cache_data": { 
"items": 54, 
"bytes": 643072 
}, 
(other caches seem to be quite low too, like bluestore_cache_other take all the memory)


After restart
-------------
"bluestore_cache_other": {
 "items": 12432298,
  "bytes": 500834899
},
"bluestore_cache_data": {
 "items": 40084,
 "bytes": 1056235520
},


full mempool dump after restart
-------------------------------

{
    "mempool": {
        "by_pool": {
            "bloom_filter": {
                "items": 0,
                "bytes": 0
            },
            "bluestore_alloc": {
                "items": 165053952,
                "bytes": 165053952
            },
            "bluestore_cache_data": {
                "items": 40084,
                "bytes": 1056235520
            },
            "bluestore_cache_onode": {
                "items": 22225,
                "bytes": 14935200
            },
            "bluestore_cache_other": {
                "items": 12432298,
                "bytes": 500834899
            },
            "bluestore_fsck": {
                "items": 0,
                "bytes": 0
            },
            "bluestore_txc": {
                "items": 11,
                "bytes": 8184
            },
            "bluestore_writing_deferred": {
                "items": 5047,
                "bytes": 22673736
            },
            "bluestore_writing": {
                "items": 91,
                "bytes": 1662976
            },
            "bluefs": {
                "items": 1907,
                "bytes": 95600
            },
            "buffer_anon": {
                "items": 19664,
                "bytes": 25486050
            },
            "buffer_meta": {
                "items": 46189,
                "bytes": 2956096
            },
            "osd": {
                "items": 243,
                "bytes": 3089016
            },
            "osd_mapbl": {
                "items": 17,
                "bytes": 214366
            },
            "osd_pglog": {
                "items": 889673,
                "bytes": 367160400
            },
            "osdmap": {
                "items": 3803,
                "bytes": 224552
            },
            "osdmap_mapping": {
                "items": 0,
                "bytes": 0
            },
            "pgmap": {
                "items": 0,
                "bytes": 0
            },
            "mds_co": {
                "items": 0,
                "bytes": 0
            },
            "unittest_1": {
                "items": 0,
                "bytes": 0
            },
            "unittest_2": {
                "items": 0,
                "bytes": 0
            }
        },
        "total": {
            "items": 178515204,
            "bytes": 2160630547
        }
    }
}

----- Mail original -----
De: "aderumier" <aderumier@xxxxxxxxx>
À: "Igor Fedotov" <ifedotov@xxxxxxx>
Cc: "Stefan Priebe, Profihost AG" <s.priebe@xxxxxxxxxxxx>, "Mark Nelson" <mnelson@xxxxxxxxxx>, "Sage Weil" <sage@xxxxxxxxxxxx>, "ceph-users" <ceph-users@xxxxxxxxxxxxxx>, "ceph-devel" <ceph-devel@xxxxxxxxxxxxxxx>
Envoyé: Vendredi 8 Février 2019 16:14:54
Objet: Re:  ceph osd commit latency increase over time, until restart

I'm just seeing 

StupidAllocator::_aligned_len 
and 
btree::btree_iterator<btree::btree_node<btree::btree_map_params<unsigned long, unsigned long, std::less<unsigned long>, mempoo 

on 1 osd, both 10%. 

here the dump_mempools 

{ 
"mempool": { 
"by_pool": { 
"bloom_filter": { 
"items": 0, 
"bytes": 0 
}, 
"bluestore_alloc": { 
"items": 210243456, 
"bytes": 210243456 
}, 
"bluestore_cache_data": { 
"items": 54, 
"bytes": 643072 
}, 
"bluestore_cache_onode": { 
"items": 105637, 
"bytes": 70988064 
}, 
"bluestore_cache_other": { 
"items": 48661920, 
"bytes": 1539544228 
}, 
"bluestore_fsck": { 
"items": 0, 
"bytes": 0 
}, 
"bluestore_txc": { 
"items": 12, 
"bytes": 8928 
}, 
"bluestore_writing_deferred": { 
"items": 406, 
"bytes": 4792868 
}, 
"bluestore_writing": { 
"items": 66, 
"bytes": 1085440 
}, 
"bluefs": { 
"items": 1882, 
"bytes": 93600 
}, 
"buffer_anon": { 
"items": 138986, 
"bytes": 24983701 
}, 
"buffer_meta": { 
"items": 544, 
"bytes": 34816 
}, 
"osd": { 
"items": 243, 
"bytes": 3089016 
}, 
"osd_mapbl": { 
"items": 36, 
"bytes": 179308 
}, 
"osd_pglog": { 
"items": 952564, 
"bytes": 372459684 
}, 
"osdmap": { 
"items": 3639, 
"bytes": 224664 
}, 
"osdmap_mapping": { 
"items": 0, 
"bytes": 0 
}, 
"pgmap": { 
"items": 0, 
"bytes": 0 
}, 
"mds_co": { 
"items": 0, 
"bytes": 0 
}, 
"unittest_1": { 
"items": 0, 
"bytes": 0 
}, 
"unittest_2": { 
"items": 0, 
"bytes": 0 
} 
}, 
"total": { 
"items": 260109445, 
"bytes": 2228370845 
} 
} 
} 


and the perf dump 

root@ceph5-2:~# ceph daemon osd.4 perf dump 
{ 
"AsyncMessenger::Worker-0": { 
"msgr_recv_messages": 22948570, 
"msgr_send_messages": 22561570, 
"msgr_recv_bytes": 333085080271, 
"msgr_send_bytes": 261798871204, 
"msgr_created_connections": 6152, 
"msgr_active_connections": 2701, 
"msgr_running_total_time": 1055.197867330, 
"msgr_running_send_time": 352.764480121, 
"msgr_running_recv_time": 499.206831955, 
"msgr_running_fast_dispatch_time": 130.982201607 
}, 
"AsyncMessenger::Worker-1": { 
"msgr_recv_messages": 18801593, 
"msgr_send_messages": 18430264, 
"msgr_recv_bytes": 306871760934, 
"msgr_send_bytes": 192789048666, 
"msgr_created_connections": 5773, 
"msgr_active_connections": 2721, 
"msgr_running_total_time": 816.821076305, 
"msgr_running_send_time": 261.353228926, 
"msgr_running_recv_time": 394.035587911, 
"msgr_running_fast_dispatch_time": 104.012155720 
}, 
"AsyncMessenger::Worker-2": { 
"msgr_recv_messages": 18463400, 
"msgr_send_messages": 18105856, 
"msgr_recv_bytes": 187425453590, 
"msgr_send_bytes": 220735102555, 
"msgr_created_connections": 5897, 
"msgr_active_connections": 2605, 
"msgr_running_total_time": 807.186854324, 
"msgr_running_send_time": 296.834435839, 
"msgr_running_recv_time": 351.364389691, 
"msgr_running_fast_dispatch_time": 101.215776792 
}, 
"bluefs": { 
"gift_bytes": 0, 
"reclaim_bytes": 0, 
"db_total_bytes": 256050724864, 
"db_used_bytes": 12413042688, 
"wal_total_bytes": 0, 
"wal_used_bytes": 0, 
"slow_total_bytes": 0, 
"slow_used_bytes": 0, 
"num_files": 209, 
"log_bytes": 10383360, 
"log_compactions": 14, 
"logged_bytes": 336498688, 
"files_written_wal": 2, 
"files_written_sst": 4499, 
"bytes_written_wal": 417989099783, 
"bytes_written_sst": 213188750209 
}, 
"bluestore": { 
"kv_flush_lat": { 
"avgcount": 26371957, 
"sum": 26.734038497, 
"avgtime": 0.000001013 
}, 
"kv_commit_lat": { 
"avgcount": 26371957, 
"sum": 3397.491150603, 
"avgtime": 0.000128829 
}, 
"kv_lat": { 
"avgcount": 26371957, 
"sum": 3424.225189100, 
"avgtime": 0.000129843 
}, 
"state_prepare_lat": { 
"avgcount": 30484924, 
"sum": 3689.542105337, 
"avgtime": 0.000121028 
}, 
"state_aio_wait_lat": { 
"avgcount": 30484924, 
"sum": 509.864546111, 
"avgtime": 0.000016725 
}, 
"state_io_done_lat": { 
"avgcount": 30484924, 
"sum": 24.534052953, 
"avgtime": 0.000000804 
}, 
"state_kv_queued_lat": { 
"avgcount": 30484924, 
"sum": 3488.338424238, 
"avgtime": 0.000114428 
}, 
"state_kv_commiting_lat": { 
"avgcount": 30484924, 
"sum": 5660.437003432, 
"avgtime": 0.000185679 
}, 
"state_kv_done_lat": { 
"avgcount": 30484924, 
"sum": 7.763511500, 
"avgtime": 0.000000254 
}, 
"state_deferred_queued_lat": { 
"avgcount": 26346134, 
"sum": 666071.296856696, 
"avgtime": 0.025281557 
}, 
"state_deferred_aio_wait_lat": { 
"avgcount": 26346134, 
"sum": 1755.660547071, 
"avgtime": 0.000066638 
}, 
"state_deferred_cleanup_lat": { 
"avgcount": 26346134, 
"sum": 185465.151653703, 
"avgtime": 0.007039558 
}, 
"state_finishing_lat": { 
"avgcount": 30484920, 
"sum": 3.046847481, 
"avgtime": 0.000000099 
}, 
"state_done_lat": { 
"avgcount": 30484920, 
"sum": 13193.362685280, 
"avgtime": 0.000432783 
}, 
"throttle_lat": { 
"avgcount": 30484924, 
"sum": 14.634269979, 
"avgtime": 0.000000480 
}, 
"submit_lat": { 
"avgcount": 30484924, 
"sum": 3873.883076148, 
"avgtime": 0.000127075 
}, 
"commit_lat": { 
"avgcount": 30484924, 
"sum": 13376.492317331, 
"avgtime": 0.000438790 
}, 
"read_lat": { 
"avgcount": 5873923, 
"sum": 1817.167582057, 
"avgtime": 0.000309361 
}, 
"read_onode_meta_lat": { 
"avgcount": 19608201, 
"sum": 146.770464482, 
"avgtime": 0.000007485 
}, 
"read_wait_aio_lat": { 
"avgcount": 13734278, 
"sum": 2532.578077242, 
"avgtime": 0.000184398 
}, 
"compress_lat": { 
"avgcount": 0, 
"sum": 0.000000000, 
"avgtime": 0.000000000 
}, 
"decompress_lat": { 
"avgcount": 1346945, 
"sum": 26.227575896, 
"avgtime": 0.000019471 
}, 
"csum_lat": { 
"avgcount": 28020392, 
"sum": 149.587819041, 
"avgtime": 0.000005338 
}, 
"compress_success_count": 0, 
"compress_rejected_count": 0, 
"write_pad_bytes": 352923605, 
"deferred_write_ops": 24373340, 
"deferred_write_bytes": 216791842816, 
"write_penalty_read_ops": 8062366, 
"bluestore_allocated": 3765566013440, 
"bluestore_stored": 4186255221852, 
"bluestore_compressed": 39981379040, 
"bluestore_compressed_allocated": 73748348928, 
"bluestore_compressed_original": 165041381376, 
"bluestore_onodes": 104232, 
"bluestore_onode_hits": 71206874, 
"bluestore_onode_misses": 1217914, 
"bluestore_onode_shard_hits": 260183292, 
"bluestore_onode_shard_misses": 22851573, 
"bluestore_extents": 3394513, 
"bluestore_blobs": 2773587, 
"bluestore_buffers": 0, 
"bluestore_buffer_bytes": 0, 
"bluestore_buffer_hit_bytes": 62026011221, 
"bluestore_buffer_miss_bytes": 995233669922, 
"bluestore_write_big": 5648815, 
"bluestore_write_big_bytes": 552502214656, 
"bluestore_write_big_blobs": 12440992, 
"bluestore_write_small": 35883770, 
"bluestore_write_small_bytes": 223436965719, 
"bluestore_write_small_unused": 408125, 
"bluestore_write_small_deferred": 34961455, 
"bluestore_write_small_pre_read": 34961455, 
"bluestore_write_small_new": 514190, 
"bluestore_txc": 30484924, 
"bluestore_onode_reshard": 5144189, 
"bluestore_blob_split": 60104, 
"bluestore_extent_compress": 53347252, 
"bluestore_gc_merged": 21142528, 
"bluestore_read_eio": 0, 
"bluestore_fragmentation_micros": 67 
}, 
"finisher-defered_finisher": { 
"queue_len": 0, 
"complete_latency": { 
"avgcount": 0, 
"sum": 0.000000000, 
"avgtime": 0.000000000 
} 
}, 
"finisher-finisher-0": { 
"queue_len": 0, 
"complete_latency": { 
"avgcount": 26625163, 
"sum": 1057.506990951, 
"avgtime": 0.000039718 
} 
}, 
"finisher-objecter-finisher-0": { 
"queue_len": 0, 
"complete_latency": { 
"avgcount": 0, 
"sum": 0.000000000, 
"avgtime": 0.000000000 
} 
}, 
"mutex-OSDShard.0::sdata_wait_lock": { 
"wait": { 
"avgcount": 0, 
"sum": 0.000000000, 
"avgtime": 0.000000000 
} 
}, 
"mutex-OSDShard.0::shard_lock": { 
"wait": { 
"avgcount": 0, 
"sum": 0.000000000, 
"avgtime": 0.000000000 
} 
}, 
"mutex-OSDShard.1::sdata_wait_lock": { 
"wait": { 
"avgcount": 0, 
"sum": 0.000000000, 
"avgtime": 0.000000000 
} 
}, 
"mutex-OSDShard.1::shard_lock": { 
"wait": { 
"avgcount": 0, 
"sum": 0.000000000, 
"avgtime": 0.000000000 
} 
}, 
"mutex-OSDShard.2::sdata_wait_lock": { 
"wait": { 
"avgcount": 0, 
"sum": 0.000000000, 
"avgtime": 0.000000000 
} 
}, 
"mutex-OSDShard.2::shard_lock": { 
"wait": { 
"avgcount": 0, 
"sum": 0.000000000, 
"avgtime": 0.000000000 
} 
}, 
"mutex-OSDShard.3::sdata_wait_lock": { 
"wait": { 
"avgcount": 0, 
"sum": 0.000000000, 
"avgtime": 0.000000000 
} 
}, 
"mutex-OSDShard.3::shard_lock": { 
"wait": { 
"avgcount": 0, 
"sum": 0.000000000, 
"avgtime": 0.000000000 
} 
}, 
"mutex-OSDShard.4::sdata_wait_lock": { 
"wait": { 
"avgcount": 0, 
"sum": 0.000000000, 
"avgtime": 0.000000000 
} 
}, 
"mutex-OSDShard.4::shard_lock": { 
"wait": { 
"avgcount": 0, 
"sum": 0.000000000, 
"avgtime": 0.000000000 
} 
}, 
"mutex-OSDShard.5::sdata_wait_lock": { 
"wait": { 
"avgcount": 0, 
"sum": 0.000000000, 
"avgtime": 0.000000000 
} 
}, 
"mutex-OSDShard.5::shard_lock": { 
"wait": { 
"avgcount": 0, 
"sum": 0.000000000, 
"avgtime": 0.000000000 
} 
}, 
"mutex-OSDShard.6::sdata_wait_lock": { 
"wait": { 
"avgcount": 0, 
"sum": 0.000000000, 
"avgtime": 0.000000000 
} 
}, 
"mutex-OSDShard.6::shard_lock": { 
"wait": { 
"avgcount": 0, 
"sum": 0.000000000, 
"avgtime": 0.000000000 
} 
}, 
"mutex-OSDShard.7::sdata_wait_lock": { 
"wait": { 
"avgcount": 0, 
"sum": 0.000000000, 
"avgtime": 0.000000000 
} 
}, 
"mutex-OSDShard.7::shard_lock": { 
"wait": { 
"avgcount": 0, 
"sum": 0.000000000, 
"avgtime": 0.000000000 
} 
}, 
"objecter": { 
"op_active": 0, 
"op_laggy": 0, 
"op_send": 0, 
"op_send_bytes": 0, 
"op_resend": 0, 
"op_reply": 0, 
"op": 0, 
"op_r": 0, 
"op_w": 0, 
"op_rmw": 0, 
"op_pg": 0, 
"osdop_stat": 0, 
"osdop_create": 0, 
"osdop_read": 0, 
"osdop_write": 0, 
"osdop_writefull": 0, 
"osdop_writesame": 0, 
"osdop_append": 0, 
"osdop_zero": 0, 
"osdop_truncate": 0, 
"osdop_delete": 0, 
"osdop_mapext": 0, 
"osdop_sparse_read": 0, 
"osdop_clonerange": 0, 
"osdop_getxattr": 0, 
"osdop_setxattr": 0, 
"osdop_cmpxattr": 0, 
"osdop_rmxattr": 0, 
"osdop_resetxattrs": 0, 
"osdop_tmap_up": 0, 
"osdop_tmap_put": 0, 
"osdop_tmap_get": 0, 
"osdop_call": 0, 
"osdop_watch": 0, 
"osdop_notify": 0, 
"osdop_src_cmpxattr": 0, 
"osdop_pgls": 0, 
"osdop_pgls_filter": 0, 
"osdop_other": 0, 
"linger_active": 0, 
"linger_send": 0, 
"linger_resend": 0, 
"linger_ping": 0, 
"poolop_active": 0, 
"poolop_send": 0, 
"poolop_resend": 0, 
"poolstat_active": 0, 
"poolstat_send": 0, 
"poolstat_resend": 0, 
"statfs_active": 0, 
"statfs_send": 0, 
"statfs_resend": 0, 
"command_active": 0, 
"command_send": 0, 
"command_resend": 0, 
"map_epoch": 105913, 
"map_full": 0, 
"map_inc": 828, 
"osd_sessions": 0, 
"osd_session_open": 0, 
"osd_session_close": 0, 
"osd_laggy": 0, 
"omap_wr": 0, 
"omap_rd": 0, 
"omap_del": 0 
}, 
"osd": { 
"op_wip": 0, 
"op": 16758102, 
"op_in_bytes": 238398820586, 
"op_out_bytes": 165484999463, 
"op_latency": { 
"avgcount": 16758102, 
"sum": 38242.481640842, 
"avgtime": 0.002282029 
}, 
"op_process_latency": { 
"avgcount": 16758102, 
"sum": 28644.906310687, 
"avgtime": 0.001709316 
}, 
"op_prepare_latency": { 
"avgcount": 16761367, 
"sum": 3489.856599934, 
"avgtime": 0.000208208 
}, 
"op_r": 6188565, 
"op_r_out_bytes": 165484999463, 
"op_r_latency": { 
"avgcount": 6188565, 
"sum": 4507.365756792, 
"avgtime": 0.000728337 
}, 
"op_r_process_latency": { 
"avgcount": 6188565, 
"sum": 942.363063429, 
"avgtime": 0.000152274 
}, 
"op_r_prepare_latency": { 
"avgcount": 6188644, 
"sum": 982.866710389, 
"avgtime": 0.000158817 
}, 
"op_w": 10546037, 
"op_w_in_bytes": 238334329494, 
"op_w_latency": { 
"avgcount": 10546037, 
"sum": 33160.719998316, 
"avgtime": 0.003144377 
}, 
"op_w_process_latency": { 
"avgcount": 10546037, 
"sum": 27668.702029030, 
"avgtime": 0.002623611 
}, 
"op_w_prepare_latency": { 
"avgcount": 10548652, 
"sum": 2499.688609173, 
"avgtime": 0.000236967 
}, 
"op_rw": 23500, 
"op_rw_in_bytes": 64491092, 
"op_rw_out_bytes": 0, 
"op_rw_latency": { 
"avgcount": 23500, 
"sum": 574.395885734, 
"avgtime": 0.024442378 
}, 
"op_rw_process_latency": { 
"avgcount": 23500, 
"sum": 33.841218228, 
"avgtime": 0.001440051 
}, 
"op_rw_prepare_latency": { 
"avgcount": 24071, 
"sum": 7.301280372, 
"avgtime": 0.000303322 
}, 
"op_before_queue_op_lat": { 
"avgcount": 57892986, 
"sum": 1502.117718889, 
"avgtime": 0.000025946 
}, 
"op_before_dequeue_op_lat": { 
"avgcount": 58091683, 
"sum": 45194.453254037, 
"avgtime": 0.000777984 
}, 
"subop": 19784758, 
"subop_in_bytes": 547174969754, 
"subop_latency": { 
"avgcount": 19784758, 
"sum": 13019.714424060, 
"avgtime": 0.000658067 
}, 
"subop_w": 19784758, 
"subop_w_in_bytes": 547174969754, 
"subop_w_latency": { 
"avgcount": 19784758, 
"sum": 13019.714424060, 
"avgtime": 0.000658067 
}, 
"subop_pull": 0, 
"subop_pull_latency": { 
"avgcount": 0, 
"sum": 0.000000000, 
"avgtime": 0.000000000 
}, 
"subop_push": 0, 
"subop_push_in_bytes": 0, 
"subop_push_latency": { 
"avgcount": 0, 
"sum": 0.000000000, 
"avgtime": 0.000000000 
}, 
"pull": 0, 
"push": 2003, 
"push_out_bytes": 5560009728, 
"recovery_ops": 1940, 
"loadavg": 118, 
"buffer_bytes": 0, 
"history_alloc_Mbytes": 0, 
"history_alloc_num": 0, 
"cached_crc": 0, 
"cached_crc_adjusted": 0, 
"missed_crc": 0, 
"numpg": 243, 
"numpg_primary": 82, 
"numpg_replica": 161, 
"numpg_stray": 0, 
"numpg_removing": 0, 
"heartbeat_to_peers": 10, 
"map_messages": 7013, 
"map_message_epochs": 7143, 
"map_message_epoch_dups": 6315, 
"messages_delayed_for_map": 0, 
"osd_map_cache_hit": 203309, 
"osd_map_cache_miss": 33, 
"osd_map_cache_miss_low": 0, 
"osd_map_cache_miss_low_avg": { 
"avgcount": 0, 
"sum": 0 
}, 
"osd_map_bl_cache_hit": 47012, 
"osd_map_bl_cache_miss": 1681, 
"stat_bytes": 6401248198656, 
"stat_bytes_used": 3777979072512, 
"stat_bytes_avail": 2623269126144, 
"copyfrom": 0, 
"tier_promote": 0, 
"tier_flush": 0, 
"tier_flush_fail": 0, 
"tier_try_flush": 0, 
"tier_try_flush_fail": 0, 
"tier_evict": 0, 
"tier_whiteout": 1631, 
"tier_dirty": 22360, 
"tier_clean": 0, 
"tier_delay": 0, 
"tier_proxy_read": 0, 
"tier_proxy_write": 0, 
"agent_wake": 0, 
"agent_skip": 0, 
"agent_flush": 0, 
"agent_evict": 0, 
"object_ctx_cache_hit": 16311156, 
"object_ctx_cache_total": 17426393, 
"op_cache_hit": 0, 
"osd_tier_flush_lat": { 
"avgcount": 0, 
"sum": 0.000000000, 
"avgtime": 0.000000000 
}, 
"osd_tier_promote_lat": { 
"avgcount": 0, 
"sum": 0.000000000, 
"avgtime": 0.000000000 
}, 
"osd_tier_r_lat": { 
"avgcount": 0, 
"sum": 0.000000000, 
"avgtime": 0.000000000 
}, 
"osd_pg_info": 30483113, 
"osd_pg_fastinfo": 29619885, 
"osd_pg_biginfo": 81703 
}, 
"recoverystate_perf": { 
"initial_latency": { 
"avgcount": 243, 
"sum": 6.869296500, 
"avgtime": 0.028268709 
}, 
"started_latency": { 
"avgcount": 1125, 
"sum": 13551384.917335850, 
"avgtime": 12045.675482076 
}, 
"reset_latency": { 
"avgcount": 1368, 
"sum": 1101.727799040, 
"avgtime": 0.805356578 
}, 
"start_latency": { 
"avgcount": 1368, 
"sum": 0.002014799, 
"avgtime": 0.000001472 
}, 
"primary_latency": { 
"avgcount": 507, 
"sum": 4575560.638823428, 
"avgtime": 9024.774435549 
}, 
"peering_latency": { 
"avgcount": 550, 
"sum": 499.372283616, 
"avgtime": 0.907949606 
}, 
"backfilling_latency": { 
"avgcount": 0, 
"sum": 0.000000000, 
"avgtime": 0.000000000 
}, 
"waitremotebackfillreserved_latency": { 
"avgcount": 0, 
"sum": 0.000000000, 
"avgtime": 0.000000000 
}, 
"waitlocalbackfillreserved_latency": { 
"avgcount": 0, 
"sum": 0.000000000, 
"avgtime": 0.000000000 
}, 
"notbackfilling_latency": { 
"avgcount": 0, 
"sum": 0.000000000, 
"avgtime": 0.000000000 
}, 
"repnotrecovering_latency": { 
"avgcount": 1009, 
"sum": 8975301.082274411, 
"avgtime": 8895.243887288 
}, 
"repwaitrecoveryreserved_latency": { 
"avgcount": 420, 
"sum": 99.846056520, 
"avgtime": 0.237728706 
}, 
"repwaitbackfillreserved_latency": { 
"avgcount": 0, 
"sum": 0.000000000, 
"avgtime": 0.000000000 
}, 
"reprecovering_latency": { 
"avgcount": 420, 
"sum": 241.682764382, 
"avgtime": 0.575435153 
}, 
"activating_latency": { 
"avgcount": 507, 
"sum": 16.893347339, 
"avgtime": 0.033320211 
}, 
"waitlocalrecoveryreserved_latency": { 
"avgcount": 199, 
"sum": 672.335512769, 
"avgtime": 3.378570415 
}, 
"waitremoterecoveryreserved_latency": { 
"avgcount": 199, 
"sum": 213.536439363, 
"avgtime": 1.073047433 
}, 
"recovering_latency": { 
"avgcount": 199, 
"sum": 79.007696479, 
"avgtime": 0.397023600 
}, 
"recovered_latency": { 
"avgcount": 507, 
"sum": 14.000732748, 
"avgtime": 0.027614857 
}, 
"clean_latency": { 
"avgcount": 395, 
"sum": 4574325.900371083, 
"avgtime": 11580.571899673 
}, 
"active_latency": { 
"avgcount": 425, 
"sum": 4575107.630123680, 
"avgtime": 10764.959129702 
}, 
"replicaactive_latency": { 
"avgcount": 589, 
"sum": 8975184.499049954, 
"avgtime": 15238.004242869 
}, 
"stray_latency": { 
"avgcount": 818, 
"sum": 800.729455666, 
"avgtime": 0.978886865 
}, 
"getinfo_latency": { 
"avgcount": 550, 
"sum": 15.085667048, 
"avgtime": 0.027428485 
}, 
"getlog_latency": { 
"avgcount": 546, 
"sum": 3.482175693, 
"avgtime": 0.006377611 
}, 
"waitactingchange_latency": { 
"avgcount": 39, 
"sum": 35.444551284, 
"avgtime": 0.908834648 
}, 
"incomplete_latency": { 
"avgcount": 0, 
"sum": 0.000000000, 
"avgtime": 0.000000000 
}, 
"down_latency": { 
"avgcount": 0, 
"sum": 0.000000000, 
"avgtime": 0.000000000 
}, 
"getmissing_latency": { 
"avgcount": 507, 
"sum": 6.702129624, 
"avgtime": 0.013219190 
}, 
"waitupthru_latency": { 
"avgcount": 507, 
"sum": 474.098261727, 
"avgtime": 0.935105052 
}, 
"notrecovering_latency": { 
"avgcount": 0, 
"sum": 0.000000000, 
"avgtime": 0.000000000 
} 
}, 
"rocksdb": { 
"get": 28320977, 
"submit_transaction": 30484924, 
"submit_transaction_sync": 26371957, 
"get_latency": { 
"avgcount": 28320977, 
"sum": 325.900908733, 
"avgtime": 0.000011507 
}, 
"submit_latency": { 
"avgcount": 30484924, 
"sum": 1835.888692371, 
"avgtime": 0.000060222 
}, 
"submit_sync_latency": { 
"avgcount": 26371957, 
"sum": 1431.555230628, 
"avgtime": 0.000054283 
}, 
"compact": 0, 
"compact_range": 0, 
"compact_queue_merge": 0, 
"compact_queue_len": 0, 
"rocksdb_write_wal_time": { 
"avgcount": 0, 
"sum": 0.000000000, 
"avgtime": 0.000000000 
}, 
"rocksdb_write_memtable_time": { 
"avgcount": 0, 
"sum": 0.000000000, 
"avgtime": 0.000000000 
}, 
"rocksdb_write_delay_time": { 
"avgcount": 0, 
"sum": 0.000000000, 
"avgtime": 0.000000000 
}, 
"rocksdb_write_pre_and_post_time": { 
"avgcount": 0, 
"sum": 0.000000000, 
"avgtime": 0.000000000 
} 
} 
} 

----- Mail original ----- 
De: "Igor Fedotov" <ifedotov@xxxxxxx> 
À: "aderumier" <aderumier@xxxxxxxxx> 
Cc: "Stefan Priebe, Profihost AG" <s.priebe@xxxxxxxxxxxx>, "Mark Nelson" <mnelson@xxxxxxxxxx>, "Sage Weil" <sage@xxxxxxxxxxxx>, "ceph-users" <ceph-users@xxxxxxxxxxxxxx>, "ceph-devel" <ceph-devel@xxxxxxxxxxxxxxx> 
Envoyé: Mardi 5 Février 2019 18:56:51 
Objet: Re:  ceph osd commit latency increase over time, until restart 

On 2/4/2019 6:40 PM, Alexandre DERUMIER wrote: 
>>> but I don't see l_bluestore_fragmentation counter. 
>>> (but I have bluestore_fragmentation_micros) 
> ok, this is the same 
> 
> b.add_u64(l_bluestore_fragmentation, "bluestore_fragmentation_micros", 
> "How fragmented bluestore free space is (free extents / max possible number of free extents) * 1000"); 
> 
> 
> Here a graph on last month, with bluestore_fragmentation_micros and latency, 
> 
> http://odisoweb1.odiso.net/latency_vs_fragmentation_micros.png 

hmm, so fragmentation grows eventually and drops on OSD restarts, isn't 
it? The same for other OSDs? 

This proves some issue with the allocator - generally fragmentation 
might grow but it shouldn't reset on restart. Looks like some intervals 
aren't properly merged in run-time. 

On the other side I'm not completely sure that latency degradation is 
caused by that - fragmentation growth is relatively small - I don't see 
how this might impact performance that high. 

Wondering if you have OSD mempool monitoring (dump_mempools command 
output on admin socket) reports? Do you have any historic data? 

If not may I have current output and say a couple more samples with 
8-12 hours interval? 


Wrt to backporting bitmap allocator to mimic - we haven't had such plans 
before that but I'll discuss this at BlueStore meeting shortly. 


Thanks, 

Igor 

> ----- Mail original ----- 
> De: "Alexandre Derumier" <aderumier@xxxxxxxxx> 
> À: "Igor Fedotov" <ifedotov@xxxxxxx> 
> Cc: "Stefan Priebe, Profihost AG" <s.priebe@xxxxxxxxxxxx>, "Mark Nelson" <mnelson@xxxxxxxxxx>, "Sage Weil" <sage@xxxxxxxxxxxx>, "ceph-users" <ceph-users@xxxxxxxxxxxxxx>, "ceph-devel" <ceph-devel@xxxxxxxxxxxxxxx> 
> Envoyé: Lundi 4 Février 2019 16:04:38 
> Objet: Re:  ceph osd commit latency increase over time, until restart 
> 
> Thanks Igor, 
> 
>>> Could you please collect BlueStore performance counters right after OSD 
>>> startup and once you get high latency. 
>>> 
>>> Specifically 'l_bluestore_fragmentation' parameter is of interest. 
> I'm already monitoring with 
> "ceph daemon osd.x perf dump ", (I have 2months history will all counters) 
> 
> but I don't see l_bluestore_fragmentation counter. 
> 
> (but I have bluestore_fragmentation_micros) 
> 
> 
>>> Also if you're able to rebuild the code I can probably make a simple 
>>> patch to track latency and some other internal allocator's paramter to 
>>> make sure it's degraded and learn more details. 
> Sorry, It's a critical production cluster, I can't test on it :( 
> But I have a test cluster, maybe I can try to put some load on it, and try to reproduce. 
> 
> 
> 
>>> More vigorous fix would be to backport bitmap allocator from Nautilus 
>>> and try the difference... 
> Any plan to backport it to mimic ? (But I can wait for Nautilus) 
> perf results of new bitmap allocator seem very promising from what I've seen in PR. 
> 
> 
> 
> ----- Mail original ----- 
> De: "Igor Fedotov" <ifedotov@xxxxxxx> 
> À: "Alexandre Derumier" <aderumier@xxxxxxxxx>, "Stefan Priebe, Profihost AG" <s.priebe@xxxxxxxxxxxx>, "Mark Nelson" <mnelson@xxxxxxxxxx> 
> Cc: "Sage Weil" <sage@xxxxxxxxxxxx>, "ceph-users" <ceph-users@xxxxxxxxxxxxxx>, "ceph-devel" <ceph-devel@xxxxxxxxxxxxxxx> 
> Envoyé: Lundi 4 Février 2019 15:51:30 
> Objet: Re:  ceph osd commit latency increase over time, until restart 
> 
> Hi Alexandre, 
> 
> looks like a bug in StupidAllocator. 
> 
> Could you please collect BlueStore performance counters right after OSD 
> startup and once you get high latency. 
> 
> Specifically 'l_bluestore_fragmentation' parameter is of interest. 
> 
> Also if you're able to rebuild the code I can probably make a simple 
> patch to track latency and some other internal allocator's paramter to 
> make sure it's degraded and learn more details. 
> 
> 
> More vigorous fix would be to backport bitmap allocator from Nautilus 
> and try the difference... 
> 
> 
> Thanks, 
> 
> Igor 
> 
> 
> On 2/4/2019 5:17 PM, Alexandre DERUMIER wrote: 
>> Hi again, 
>> 
>> I speak too fast, the problem has occured again, so it's not tcmalloc cache size related. 
>> 
>> 
>> I have notice something using a simple "perf top", 
>> 
>> each time I have this problem (I have seen exactly 4 times the same behaviour), 
>> 
>> when latency is bad, perf top give me : 
>> 
>> StupidAllocator::_aligned_len 
>> and 
>> btree::btree_iterator<btree::btree_node<btree::btree_map_params<unsigned long, unsigned long, std::less<unsigned long>, mempoo 
>> l::pool_allocator<(mempool::pool_index_t)1, std::pair<unsigned long const, unsigned long> >, 256> >, std::pair<unsigned long const, unsigned long>&, std::pair<unsigned long 
>> const, unsigned long>*>::increment_slow() 
>> 
>> (around 10-20% time for both) 
>> 
>> 
>> when latency is good, I don't see them at all. 
>> 
>> 
>> I have used the Mark wallclock profiler, here the results: 
>> 
>> http://odisoweb1.odiso.net/gdbpmp-ok.txt 
>> 
>> http://odisoweb1.odiso.net/gdbpmp-bad.txt 
>> 
>> 
>> here an extract of the thread with btree::btree_iterator && StupidAllocator::_aligned_len 
>> 
>> 
>> + 100.00% clone 
>> + 100.00% start_thread 
>> + 100.00% ShardedThreadPool::WorkThreadSharded::entry() 
>> + 100.00% ShardedThreadPool::shardedthreadpool_worker(unsigned int) 
>> + 100.00% OSD::ShardedOpWQ::_process(unsigned int, ceph::heartbeat_handle_d*) 
>> + 70.00% PGOpItem::run(OSD*, OSDShard*, boost::intrusive_ptr<PG>&, ThreadPool::TPHandle&) 
>> | + 70.00% OSD::dequeue_op(boost::intrusive_ptr<PG>, boost::intrusive_ptr<OpRequest>, ThreadPool::TPHandle&) 
>> | + 70.00% PrimaryLogPG::do_request(boost::intrusive_ptr<OpRequest>&, ThreadPool::TPHandle&) 
>> | + 68.00% PGBackend::handle_message(boost::intrusive_ptr<OpRequest>) 
>> | | + 68.00% ReplicatedBackend::_handle_message(boost::intrusive_ptr<OpRequest>) 
>> | | + 68.00% ReplicatedBackend::do_repop(boost::intrusive_ptr<OpRequest>) 
>> | | + 67.00% non-virtual thunk to PrimaryLogPG::queue_transactions(std::vector<ObjectStore::Transaction, std::allocator<ObjectStore::Transaction> >&, boost::intrusive_ptr<OpRequest>) 
>> | | | + 67.00% BlueStore::queue_transactions(boost::intrusive_ptr<ObjectStore::CollectionImpl>&, std::vector<ObjectStore::Transaction, std::allocator<ObjectStore::Transaction> >&, boost::intrusive_ptr<TrackedOp>, ThreadPool::TPHandle*) 
>> | | | + 66.00% BlueStore::_txc_add_transaction(BlueStore::TransContext*, ObjectStore::Transaction*) 
>> | | | | + 66.00% BlueStore::_write(BlueStore::TransContext*, boost::intrusive_ptr<BlueStore::Collection>&, boost::intrusive_ptr<BlueStore::Onode>&, unsigned long, unsigned long, ceph::buffer::list&, unsigned int) 
>> | | | | + 66.00% BlueStore::_do_write(BlueStore::TransContext*, boost::intrusive_ptr<BlueStore::Collection>&, boost::intrusive_ptr<BlueStore::Onode>, unsigned long, unsigned long, ceph::buffer::list&, unsigned int) 
>> | | | | + 65.00% BlueStore::_do_alloc_write(BlueStore::TransContext*, boost::intrusive_ptr<BlueStore::Collection>, boost::intrusive_ptr<BlueStore::Onode>, BlueStore::WriteContext*) 
>> | | | | | + 64.00% StupidAllocator::allocate(unsigned long, unsigned long, unsigned long, long, std::vector<bluestore_pextent_t, mempool::pool_allocator<(mempool::pool_index_t)4, bluestore_pextent_t> >*) 
>> | | | | | | + 64.00% StupidAllocator::allocate_int(unsigned long, unsigned long, long, unsigned long*, unsigned int*) 
>> | | | | | | + 34.00% btree::btree_iterator<btree::btree_node<btree::btree_map_params<unsigned long, unsigned long, std::less<unsigned long>, mempool::pool_allocator<(mempool::pool_index_t)1, std::pair<unsigned long const, unsigned long> >, 256> >, std::pair<unsigned long const, unsigned long>&, std::pair<unsigned long const, unsigned long>*>::increment_slow() 
>> | | | | | | + 26.00% StupidAllocator::_aligned_len(interval_set<unsigned long, btree::btree_map<unsigned long, unsigned long, std::less<unsigned long>, mempool::pool_allocator<(mempool::pool_index_t)1, std::pair<unsigned long const, unsigned long> >, 256> >::iterator, unsigned long) 
>> 
>> 
>> 
>> ----- Mail original ----- 
>> De: "Alexandre Derumier" <aderumier@xxxxxxxxx> 
>> À: "Stefan Priebe, Profihost AG" <s.priebe@xxxxxxxxxxxx> 
>> Cc: "Sage Weil" <sage@xxxxxxxxxxxx>, "ceph-users" <ceph-users@xxxxxxxxxxxxxx>, "ceph-devel" <ceph-devel@xxxxxxxxxxxxxxx> 
>> Envoyé: Lundi 4 Février 2019 09:38:11 
>> Objet: Re:  ceph osd commit latency increase over time, until restart 
>> 
>> Hi, 
>> 
>> some news: 
>> 
>> I have tried with different transparent hugepage values (madvise, never) : no change 
>> 
>> I have tried to increase bluestore_cache_size_ssd to 8G: no change 
>> 
>> I have tried to increase TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES to 256mb : it seem to help, after 24h I'm still around 1,5ms. (need to wait some more days to be sure) 
>> 
>> 
>> Note that this behaviour seem to happen really faster (< 2 days) on my big nvme drives (6TB), 
>> my others clusters user 1,6TB ssd. 
>> 
>> Currently I'm using only 1 osd by nvme (I don't have more than 5000iops by osd), but I'll try this week with 2osd by nvme, to see if it's helping. 
>> 
>> 
>> BTW, does somebody have already tested ceph without tcmalloc, with glibc >= 2.26 (which have also thread cache) ? 
>> 
>> 
>> Regards, 
>> 
>> Alexandre 
>> 
>> 
>> ----- Mail original ----- 
>> De: "aderumier" <aderumier@xxxxxxxxx> 
>> À: "Stefan Priebe, Profihost AG" <s.priebe@xxxxxxxxxxxx> 
>> Cc: "Sage Weil" <sage@xxxxxxxxxxxx>, "ceph-users" <ceph-users@xxxxxxxxxxxxxx>, "ceph-devel" <ceph-devel@xxxxxxxxxxxxxxx> 
>> Envoyé: Mercredi 30 Janvier 2019 19:58:15 
>> Objet: Re:  ceph osd commit latency increase over time, until restart 
>> 
>>>> Thanks. Is there any reason you monitor op_w_latency but not 
>>>> op_r_latency but instead op_latency? 
>>>> 
>>>> Also why do you monitor op_w_process_latency? but not op_r_process_latency? 
>> I monitor read too. (I have all metrics for osd sockets, and a lot of graphs). 
>> 
>> I just don't see latency difference on reads. (or they are very very small vs the write latency increase) 
>> 
>> 
>> 
>> ----- Mail original ----- 
>> De: "Stefan Priebe, Profihost AG" <s.priebe@xxxxxxxxxxxx> 
>> À: "aderumier" <aderumier@xxxxxxxxx> 
>> Cc: "Sage Weil" <sage@xxxxxxxxxxxx>, "ceph-users" <ceph-users@xxxxxxxxxxxxxx>, "ceph-devel" <ceph-devel@xxxxxxxxxxxxxxx> 
>> Envoyé: Mercredi 30 Janvier 2019 19:50:20 
>> Objet: Re:  ceph osd commit latency increase over time, until restart 
>> 
>> Hi, 
>> 
>> Am 30.01.19 um 14:59 schrieb Alexandre DERUMIER: 
>>> Hi Stefan, 
>>> 
>>>>> currently i'm in the process of switching back from jemalloc to tcmalloc 
>>>>> like suggested. This report makes me a little nervous about my change. 
>>> Well,I'm really not sure that it's a tcmalloc bug. 
>>> maybe bluestore related (don't have filestore anymore to compare) 
>>> I need to compare with bigger latencies 
>>> 
>>> here an example, when all osd at 20-50ms before restart, then after restart (at 21:15), 1ms 
>>> http://odisoweb1.odiso.net/latencybad.png 
>>> 
>>> I observe the latency in my guest vm too, on disks iowait. 
>>> 
>>> http://odisoweb1.odiso.net/latencybadvm.png 
>>> 
>>>>> Also i'm currently only monitoring latency for filestore osds. Which 
>>>>> exact values out of the daemon do you use for bluestore? 
>>> here my influxdb queries: 
>>> 
>>> It take op_latency.sum/op_latency.avgcount on last second. 
>>> 
>>> 
>>> SELECT non_negative_derivative(first("op_latency.sum"), 1s)/non_negative_derivative(first("op_latency.avgcount"),1s) FROM "ceph" WHERE "host" =~ /^([[host]])$/ AND "id" =~ /^([[osd]])$/ AND $timeFilter GROUP BY time($interval), "host", "id" fill(previous) 
>>> 
>>> 
>>> SELECT non_negative_derivative(first("op_w_latency.sum"), 1s)/non_negative_derivative(first("op_w_latency.avgcount"),1s) FROM "ceph" WHERE "host" =~ /^([[host]])$/ AND collection='osd' AND "id" =~ /^([[osd]])$/ AND $timeFilter GROUP BY time($interval), "host", "id" fill(previous) 
>>> 
>>> 
>>> SELECT non_negative_derivative(first("op_w_process_latency.sum"), 1s)/non_negative_derivative(first("op_w_process_latency.avgcount"),1s) FROM "ceph" WHERE "host" =~ /^([[host]])$/ AND collection='osd' AND "id" =~ /^([[osd]])$/ AND $timeFilter GROUP BY time($interval), "host", "id" fill(previous) 
>> Thanks. Is there any reason you monitor op_w_latency but not 
>> op_r_latency but instead op_latency? 
>> 
>> Also why do you monitor op_w_process_latency? but not op_r_process_latency? 
>> 
>> greets, 
>> Stefan 
>> 
>>> 
>>> 
>>> 
>>> ----- Mail original ----- 
>>> De: "Stefan Priebe, Profihost AG" <s.priebe@xxxxxxxxxxxx> 
>>> À: "aderumier" <aderumier@xxxxxxxxx>, "Sage Weil" <sage@xxxxxxxxxxxx> 
>>> Cc: "ceph-users" <ceph-users@xxxxxxxxxxxxxx>, "ceph-devel" <ceph-devel@xxxxxxxxxxxxxxx> 
>>> Envoyé: Mercredi 30 Janvier 2019 08:45:33 
>>> Objet: Re:  ceph osd commit latency increase over time, until restart 
>>> 
>>> Hi, 
>>> 
>>> Am 30.01.19 um 08:33 schrieb Alexandre DERUMIER: 
>>>> Hi, 
>>>> 
>>>> here some new results, 
>>>> different osd/ different cluster 
>>>> 
>>>> before osd restart latency was between 2-5ms 
>>>> after osd restart is around 1-1.5ms 
>>>> 
>>>> http://odisoweb1.odiso.net/cephperf2/bad.txt (2-5ms) 
>>>> http://odisoweb1.odiso.net/cephperf2/ok.txt (1-1.5ms) 
>>>> http://odisoweb1.odiso.net/cephperf2/diff.txt 
>>>> 
>>>> From what I see in diff, the biggest difference is in tcmalloc, but maybe I'm wrong. 
>>>> (I'm using tcmalloc 2.5-2.2) 
>>> currently i'm in the process of switching back from jemalloc to tcmalloc 
>>> like suggested. This report makes me a little nervous about my change. 
>>> 
>>> Also i'm currently only monitoring latency for filestore osds. Which 
>>> exact values out of the daemon do you use for bluestore? 
>>> 
>>> I would like to check if i see the same behaviour. 
>>> 
>>> Greets, 
>>> Stefan 
>>> 
>>>> ----- Mail original ----- 
>>>> De: "Sage Weil" <sage@xxxxxxxxxxxx> 
>>>> À: "aderumier" <aderumier@xxxxxxxxx> 
>>>> Cc: "ceph-users" <ceph-users@xxxxxxxxxxxxxx>, "ceph-devel" <ceph-devel@xxxxxxxxxxxxxxx> 
>>>> Envoyé: Vendredi 25 Janvier 2019 10:49:02 
>>>> Objet: Re: ceph osd commit latency increase over time, until restart 
>>>> 
>>>> Can you capture a perf top or perf record to see where teh CPU time is 
>>>> going on one of the OSDs wth a high latency? 
>>>> 
>>>> Thanks! 
>>>> sage 
>>>> 
>>>> 
>>>> On Fri, 25 Jan 2019, Alexandre DERUMIER wrote: 
>>>> 
>>>>> Hi, 
>>>>> 
>>>>> I have a strange behaviour of my osd, on multiple clusters, 
>>>>> 
>>>>> All cluster are running mimic 13.2.1,bluestore, with ssd or nvme drivers, 
>>>>> workload is rbd only, with qemu-kvm vms running with librbd + snapshot/rbd export-diff/snapshotdelete each day for backup 
>>>>> 
>>>>> When the osd are refreshly started, the commit latency is between 0,5-1ms. 
>>>>> 
>>>>> But overtime, this latency increase slowly (maybe around 1ms by day), until reaching crazy 
>>>>> values like 20-200ms. 
>>>>> 
>>>>> Some example graphs: 
>>>>> 
>>>>> http://odisoweb1.odiso.net/osdlatency1.png 
>>>>> http://odisoweb1.odiso.net/osdlatency2.png 
>>>>> 
>>>>> All osds have this behaviour, in all clusters. 
>>>>> 
>>>>> The latency of physical disks is ok. (Clusters are far to be full loaded) 
>>>>> 
>>>>> And if I restart the osd, the latency come back to 0,5-1ms. 
>>>>> 
>>>>> That's remember me old tcmalloc bug, but maybe could it be a bluestore memory bug ? 
>>>>> 
>>>>> Any Hints for counters/logs to check ? 
>>>>> 
>>>>> 
>>>>> Regards, 
>>>>> 
>>>>> Alexandre 
>>>>> 
>>>>> 
>>>> _______________________________________________ 
>>>> ceph-users mailing list 
>>>> ceph-users@xxxxxxxxxxxxxx 
>>>> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com 
>>>> 



_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com





[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Ceph Dev]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux