<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/f2fs/gc.c, branch linux-3.8.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.8.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.8.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2013-01-22T01:48:59Z</updated>
<entry>
<title>f2fs: add comments of start_bidx_of_node</title>
<updated>2013-01-22T01:48:59Z</updated>
<author>
<name>Jaegeuk Kim</name>
</author>
<published>2013-01-21T08:34:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9af45ef5ab8ce4a13c553200dc15509441fbd68f'/>
<id>urn:sha1:9af45ef5ab8ce4a13c553200dc15509441fbd68f</id>
<content type='text'>
The caller of start_bidx_of_node() should give proper node offsets which
point only direct node blocks. Otherwise, it is a caller's bug.
This patch adds comments to make it clear.

Reported-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Jaegeuk Kim &lt;jaegeuk.kim@samsung.com&gt;
</content>
</entry>
<entry>
<title>f2fs: add __init to functions in init_f2fs_fs</title>
<updated>2013-01-22T01:48:38Z</updated>
<author>
<name>Namjae Jeon</name>
</author>
<published>2013-01-16T15:08:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6e6093a8f144414d904575da5fdea40cf14fb63e'/>
<id>urn:sha1:6e6093a8f144414d904575da5fdea40cf14fb63e</id>
<content type='text'>
Add __init to functions in init_f2fs_fs for code consistency.

Signed-off-by: Namjae Jeon &lt;namjae.jeon@samsung.com&gt;
Signed-off-by: Amit Sahrawat &lt;a.sahrawat@samsung.com&gt;
Signed-off-by: Jaegeuk Kim &lt;jaegeuk.kim@samsung.com&gt;
</content>
</entry>
<entry>
<title>f2fs: revisit the f2fs_gc flow</title>
<updated>2013-01-09T22:42:59Z</updated>
<author>
<name>Jaegeuk Kim</name>
</author>
<published>2013-01-03T08:55:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=408e9375610cca6d54e9c654cbe05a647687e12e'/>
<id>urn:sha1:408e9375610cca6d54e9c654cbe05a647687e12e</id>
<content type='text'>
I'd like to revisit the f2fs_gc flow and rewrite as follows.

1. In practical, the nGC parameter of f2fs_gc is meaningless. So, let's
  remove it.
2. Background GC marks victim blocks as dirty one at a time.
3. Foreground GC should do cleaning job until acquiring enough free
  sections. Afterwards, it needs to do checkpoint.

Signed-off-by: Jaegeuk Kim &lt;jaegeuk.kim@samsung.com&gt;
</content>
</entry>
<entry>
<title>f2fs: clean up unused variables and return values</title>
<updated>2012-12-28T02:27:52Z</updated>
<author>
<name>Jaegeuk Kim</name>
</author>
<published>2012-12-26T05:39:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2b50638decdb9a8585654a5acf1c8ce5962f1951'/>
<id>urn:sha1:2b50638decdb9a8585654a5acf1c8ce5962f1951</id>
<content type='text'>
This patch cleans up a couple of unnecessary codes related to unused variables
and return values.

Signed-off-by: Jaegeuk Kim &lt;jaegeuk.kim@samsung.com&gt;
</content>
</entry>
<entry>
<title>f2fs: clean up the start_bidx_of_node function</title>
<updated>2012-12-28T02:27:52Z</updated>
<author>
<name>Jaegeuk Kim</name>
</author>
<published>2012-12-26T03:03:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ce19a5d4321911f98d42e4d724630ae48f413719'/>
<id>urn:sha1:ce19a5d4321911f98d42e4d724630ae48f413719</id>
<content type='text'>
This patch also resolves the following warning reported by kbuild test robot.

fs/f2fs/gc.c: In function 'start_bidx_of_node':
fs/f2fs/gc.c:453:21: warning: 'bidx' may be used uninitialized in this function

Signed-off-by: Jaegeuk Kim &lt;jaegeuk.kim@samsung.com&gt;
</content>
</entry>
<entry>
<title>f2fs: remove unneeded initialization</title>
<updated>2012-12-11T04:43:44Z</updated>
<author>
<name>Namjae Jeon</name>
</author>
<published>2012-12-01T01:56:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1042d60f917d78ef1a6eaea297a1020484d4bf74'/>
<id>urn:sha1:1042d60f917d78ef1a6eaea297a1020484d4bf74</id>
<content type='text'>
No need to initialize  "struct f2fs_gc_kthread *gc_th = NULL",
as gc_th = NULL, will be taken care by the return values of kmalloc().
And fix codes in other places.

Signed-off-by: Namjae Jeon &lt;namjae.jeon@samsung.com&gt;
Signed-off-by: Amit Sahrawat &lt;a.sahrawat@samsung.com&gt;
</content>
</entry>
<entry>
<title>f2fs: adjust kernel coding style</title>
<updated>2012-12-11T04:43:42Z</updated>
<author>
<name>Jaegeuk Kim</name>
</author>
<published>2012-11-29T04:28:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0a8165d7c2cf1395059db20ab07665baf3758fcd'/>
<id>urn:sha1:0a8165d7c2cf1395059db20ab07665baf3758fcd</id>
<content type='text'>
As pointed out by Randy Dunlap, this patch removes all usage of "/**" for comment
blocks. Instead, just use "/*".

Signed-off-by: Jaegeuk Kim &lt;jaegeuk.kim@samsung.com&gt;
</content>
</entry>
<entry>
<title>f2fs: add garbage collection functions</title>
<updated>2012-12-11T04:43:41Z</updated>
<author>
<name>Jaegeuk Kim</name>
</author>
<published>2012-11-02T08:13:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7bc0900347e069a1676d28ad6f98cafaf8cfd6e9'/>
<id>urn:sha1:7bc0900347e069a1676d28ad6f98cafaf8cfd6e9</id>
<content type='text'>
This adds on-demand and background cleaning functions.

- The basic background cleaning policy is trying to do cleaning jobs as much as
  possible whenever the system is idle. Once the background cleaning is done,
  the cleaner sleeps an amount of time not to interfere with VFS calls. The time
  is dynamically adjusted according to the status of whole segments, which is
  decreased when the following conditions are satisfied.

  . GC is not conducted currently, and
  . IO subsystem is idle by checking the number of requets in bdev's request
     list, and
  . There are enough dirty segments.

  Otherwise, the time is increased incrementally until to the maximum time.
  Note that, min and max times are 10 secs and 30 secs by default.

- F2FS adopts a default victim selection policy where background cleaning uses
  a cost-benefit algorithm, while on-demand cleaning uses a greedy algorithm.

- The method of moving data during the cleaning is slightly different between
  background and on-demand cleaning schemes. In the case of background cleaning,
  F2FS loads the data, and marks them as dirty. Then, F2FS expects that the data
  will be moved by flusher or VM. In the case of on-demand cleaning, F2FS should
  move the data right away.

- In order to identify valid blocks in a victim segment, F2FS scans the bitmap
  of the segment managed as an SIT entry.

Signed-off-by: Jaegeuk Kim &lt;jaegeuk.kim@samsung.com&gt;
</content>
</entry>
</feed>
