debug.c (e7547daccd6a37522f0af74ec4b5a3036f3dd328) debug.c (71644dff481180ba024ac4f5cb1f068756357adf)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * f2fs debugging statistics
4 *
5 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
6 * http://www.samsung.com/
7 * Copyright (c) 2012 Linux Foundation
8 * Copyright (c) 2012 Greg Kroah-Hartman <gregkh@linuxfoundation.org>

--- 74 unchanged lines hidden (view full) ---

83 si->ext_tree[i] = atomic_read(&eti->total_ext_tree);
84 si->zombie_tree[i] = atomic_read(&eti->total_zombie_tree);
85 si->ext_node[i] = atomic_read(&eti->total_ext_node);
86 }
87 /* read extent_cache only */
88 si->hit_largest = atomic64_read(&sbi->read_hit_largest);
89 si->hit_total[EX_READ] += si->hit_largest;
90
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * f2fs debugging statistics
4 *
5 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
6 * http://www.samsung.com/
7 * Copyright (c) 2012 Linux Foundation
8 * Copyright (c) 2012 Greg Kroah-Hartman <gregkh@linuxfoundation.org>

--- 74 unchanged lines hidden (view full) ---

83 si->ext_tree[i] = atomic_read(&eti->total_ext_tree);
84 si->zombie_tree[i] = atomic_read(&eti->total_zombie_tree);
85 si->ext_node[i] = atomic_read(&eti->total_ext_node);
86 }
87 /* read extent_cache only */
88 si->hit_largest = atomic64_read(&sbi->read_hit_largest);
89 si->hit_total[EX_READ] += si->hit_largest;
90
91 /* block age extent_cache only */
92 si->allocated_data_blocks = atomic64_read(&sbi->allocated_data_blocks);
93
91 /* validation check of the segment numbers */
92 si->ndirty_node = get_pages(sbi, F2FS_DIRTY_NODES);
93 si->ndirty_dent = get_pages(sbi, F2FS_DIRTY_DENTS);
94 si->ndirty_meta = get_pages(sbi, F2FS_DIRTY_META);
95 si->ndirty_data = get_pages(sbi, F2FS_DIRTY_DATA);
96 si->ndirty_qdata = get_pages(sbi, F2FS_DIRTY_QDATA);
97 si->ndirty_imeta = get_pages(sbi, F2FS_DIRTY_IMETA);
98 si->ndirty_dirs = sbi->ndirty_inode[DIR_INODE];

--- 412 unchanged lines hidden (view full) ---

511 seq_printf(s, " - Hit Ratio: %llu%% (%llu / %llu)\n",
512 !si->total_ext[EX_READ] ? 0 :
513 div64_u64(si->hit_total[EX_READ] * 100,
514 si->total_ext[EX_READ]),
515 si->hit_total[EX_READ], si->total_ext[EX_READ]);
516 seq_printf(s, " - Inner Struct Count: tree: %d(%d), node: %d\n",
517 si->ext_tree[EX_READ], si->zombie_tree[EX_READ],
518 si->ext_node[EX_READ]);
94 /* validation check of the segment numbers */
95 si->ndirty_node = get_pages(sbi, F2FS_DIRTY_NODES);
96 si->ndirty_dent = get_pages(sbi, F2FS_DIRTY_DENTS);
97 si->ndirty_meta = get_pages(sbi, F2FS_DIRTY_META);
98 si->ndirty_data = get_pages(sbi, F2FS_DIRTY_DATA);
99 si->ndirty_qdata = get_pages(sbi, F2FS_DIRTY_QDATA);
100 si->ndirty_imeta = get_pages(sbi, F2FS_DIRTY_IMETA);
101 si->ndirty_dirs = sbi->ndirty_inode[DIR_INODE];

--- 412 unchanged lines hidden (view full) ---

514 seq_printf(s, " - Hit Ratio: %llu%% (%llu / %llu)\n",
515 !si->total_ext[EX_READ] ? 0 :
516 div64_u64(si->hit_total[EX_READ] * 100,
517 si->total_ext[EX_READ]),
518 si->hit_total[EX_READ], si->total_ext[EX_READ]);
519 seq_printf(s, " - Inner Struct Count: tree: %d(%d), node: %d\n",
520 si->ext_tree[EX_READ], si->zombie_tree[EX_READ],
521 si->ext_node[EX_READ]);
522 seq_puts(s, "\nExtent Cache (Block Age):\n");
523 seq_printf(s, " - Allocated Data Blocks: %llu\n",
524 si->allocated_data_blocks);
525 seq_printf(s, " - Hit Count: L1:%llu L2:%llu\n",
526 si->hit_cached[EX_BLOCK_AGE],
527 si->hit_rbtree[EX_BLOCK_AGE]);
528 seq_printf(s, " - Hit Ratio: %llu%% (%llu / %llu)\n",
529 !si->total_ext[EX_BLOCK_AGE] ? 0 :
530 div64_u64(si->hit_total[EX_BLOCK_AGE] * 100,
531 si->total_ext[EX_BLOCK_AGE]),
532 si->hit_total[EX_BLOCK_AGE],
533 si->total_ext[EX_BLOCK_AGE]);
534 seq_printf(s, " - Inner Struct Count: tree: %d(%d), node: %d\n",
535 si->ext_tree[EX_BLOCK_AGE],
536 si->zombie_tree[EX_BLOCK_AGE],
537 si->ext_node[EX_BLOCK_AGE]);
519 seq_puts(s, "\nBalancing F2FS Async:\n");
520 seq_printf(s, " - DIO (R: %4d, W: %4d)\n",
521 si->nr_dio_read, si->nr_dio_write);
522 seq_printf(s, " - IO_R (Data: %4d, Node: %4d, Meta: %4d\n",
523 si->nr_rd_data, si->nr_rd_node, si->nr_rd_meta);
524 seq_printf(s, " - IO_W (CP: %4d, Data: %4d, Flush: (%4d %4d %4d), "
525 "Discard: (%4d %4d)) cmd: %4d undiscard:%4u\n",
526 si->nr_wb_cp_data, si->nr_wb_data,

--- 54 unchanged lines hidden (view full) ---

581 seq_printf(s, "\nMemory: %llu KB\n",
582 (si->base_mem + si->cache_mem + si->page_mem) >> 10);
583 seq_printf(s, " - static: %llu KB\n",
584 si->base_mem >> 10);
585 seq_printf(s, " - cached all: %llu KB\n",
586 si->cache_mem >> 10);
587 seq_printf(s, " - read extent cache: %llu KB\n",
588 si->ext_mem[EX_READ] >> 10);
538 seq_puts(s, "\nBalancing F2FS Async:\n");
539 seq_printf(s, " - DIO (R: %4d, W: %4d)\n",
540 si->nr_dio_read, si->nr_dio_write);
541 seq_printf(s, " - IO_R (Data: %4d, Node: %4d, Meta: %4d\n",
542 si->nr_rd_data, si->nr_rd_node, si->nr_rd_meta);
543 seq_printf(s, " - IO_W (CP: %4d, Data: %4d, Flush: (%4d %4d %4d), "
544 "Discard: (%4d %4d)) cmd: %4d undiscard:%4u\n",
545 si->nr_wb_cp_data, si->nr_wb_data,

--- 54 unchanged lines hidden (view full) ---

600 seq_printf(s, "\nMemory: %llu KB\n",
601 (si->base_mem + si->cache_mem + si->page_mem) >> 10);
602 seq_printf(s, " - static: %llu KB\n",
603 si->base_mem >> 10);
604 seq_printf(s, " - cached all: %llu KB\n",
605 si->cache_mem >> 10);
606 seq_printf(s, " - read extent cache: %llu KB\n",
607 si->ext_mem[EX_READ] >> 10);
608 seq_printf(s, " - block age extent cache: %llu KB\n",
609 si->ext_mem[EX_BLOCK_AGE] >> 10);
589 seq_printf(s, " - paged : %llu KB\n",
590 si->page_mem >> 10);
591 }
592 raw_spin_unlock_irqrestore(&f2fs_stat_lock, flags);
593 return 0;
594}
595
596DEFINE_SHOW_ATTRIBUTE(stat);

--- 83 unchanged lines hidden ---
610 seq_printf(s, " - paged : %llu KB\n",
611 si->page_mem >> 10);
612 }
613 raw_spin_unlock_irqrestore(&f2fs_stat_lock, flags);
614 return 0;
615}
616
617DEFINE_SHOW_ATTRIBUTE(stat);

--- 83 unchanged lines hidden ---