/* * fs/f2fs/gc.h * * Copyright (c) 2012 Samsung Electronics Co., Ltd. * http://www.samsung.com/ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ #define GC_THREAD_MIN_WB_PAGES 1 /* * a threshold to determine * whether IO subsystem is idle * or not */ #define DEF_GC_THREAD_MIN_SLEEP_TIME 30000 /* milliseconds */ #define DEF_GC_THREAD_MAX_SLEEP_TIME 60000 #define DEF_GC_THREAD_NOGC_SLEEP_TIME 300000 /* wait 5 min */ #define LIMIT_INVALID_BLOCK 40 /* percentage over total user space */ #define LIMIT_FREE_BLOCK 40 /* percentage over invalid + free space */ /* Search max. number of dirty segments to select a victim segment */ #define DEF_MAX_VICTIM_SEARCH 4096 /* covers 8GB */ struct f2fs_gc_kthread { struct task_struct *f2fs_gc_task; wait_queue_head_t gc_wait_queue_head; /* for gc sleep time */ unsigned int min_sleep_time; unsigned int max_sleep_time; unsigned int no_gc_sleep_time; /* for changing gc mode */ unsigned int gc_idle; }; struct gc_inode_list { struct list_head ilist; struct radix_tree_root iroot; }; /* * inline functions */
static inline block_t free_user_blocks(struct f2fs_sb_info *sbi) { if (free_segments(sbi) < overprovision_segments(sbi)) return 0; else return (free_segments(sbi) - overprovision_segments(sbi)) << sbi->log_blocks_per_seg; }Contributors
Person | Tokens | Prop | Commits | CommitProp |
Jaegeuk Kim | 45 | 100.00% | 1 | 100.00% |
Total | 45 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Jaegeuk Kim | 26 | 100.00% | 1 | 100.00% |
Total | 26 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Jaegeuk Kim | 36 | 100.00% | 1 | 100.00% |
Total | 36 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Jaegeuk Kim | 25 | 51.02% | 2 | 50.00% |
Namjae Jeon | 17 | 34.69% | 1 | 25.00% |
Chao Yu | 7 | 14.29% | 1 | 25.00% |
Total | 49 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Jaegeuk Kim | 28 | 50.91% | 2 | 50.00% |
Namjae Jeon | 20 | 36.36% | 1 | 25.00% |
Chao Yu | 7 | 12.73% | 1 | 25.00% |
Total | 55 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Jaegeuk Kim | 49 | 98.00% | 1 | 50.00% |
arter97 | 1 | 2.00% | 1 | 50.00% |
Total | 50 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Jaegeuk Kim | 254 | 74.27% | 4 | 40.00% |
Namjae Jeon | 58 | 16.96% | 2 | 20.00% |
Chao Yu | 14 | 4.09% | 1 | 10.00% |
Changman Lee | 13 | 3.80% | 1 | 10.00% |
Jin Xu | 2 | 0.58% | 1 | 10.00% |
arter97 | 1 | 0.29% | 1 | 10.00% |
Total | 342 | 100.00% | 10 | 100.00% |