<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/md/bcache/writeback.c, branch v3.11.1</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v3.11.1</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v3.11.1'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2013-07-01T21:43:53+00:00</updated>
<entry>
<title>bcache: Use standard utility code</title>
<updated>2013-07-01T21:43:53+00:00</updated>
<author>
<name>Kent Overstreet</name>
<email>koverstreet@google.com</email>
</author>
<published>2013-06-07T01:15:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=8e51e414a3c6d92ef2cc41720c67342a8e2c0bf7'/>
<id>urn:sha1:8e51e414a3c6d92ef2cc41720c67342a8e2c0bf7</id>
<content type='text'>
Some of bcache's utility code has made it into the rest of the kernel,
so drop the bcache versions.

Bcache used to have a workaround for allocating from a bio set under
generic_make_request() (if you allocated more than once, the bios you
already allocated would get stuck on current-&gt;bio_list when you
submitted, and you'd risk deadlock) - bcache would mask out __GFP_WAIT
when allocating bios under generic_make_request() so that allocation
could fail and it could retry from workqueue. But bio_alloc_bioset() has
a workaround now, so we can drop this hack and the associated error
handling.

Signed-off-by: Kent Overstreet &lt;koverstreet@google.com&gt;
</content>
</entry>
<entry>
<title>bcache: Write out full stripes</title>
<updated>2013-06-27T04:58:04+00:00</updated>
<author>
<name>Kent Overstreet</name>
<email>koverstreet@google.com</email>
</author>
<published>2013-06-05T13:24:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=72c270612bd33192fa836ad0f2939af1ca218292'/>
<id>urn:sha1:72c270612bd33192fa836ad0f2939af1ca218292</id>
<content type='text'>
Now that we're tracking dirty data per stripe, we can add two
optimizations for raid5/6:

 * If a stripe is already dirty, force writes to that stripe to
   writeback mode - to help build up full stripes of dirty data

 * When flushing dirty data, preferentially write out full stripes first
   if there are any.

Signed-off-by: Kent Overstreet &lt;koverstreet@google.com&gt;
</content>
</entry>
<entry>
<title>bcache: Track dirty data by stripe</title>
<updated>2013-06-27T04:57:23+00:00</updated>
<author>
<name>Kent Overstreet</name>
<email>koverstreet@google.com</email>
</author>
<published>2013-06-05T13:21:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=279afbad4e54acbd61bf88a54a73af3bbfdeb5dd'/>
<id>urn:sha1:279afbad4e54acbd61bf88a54a73af3bbfdeb5dd</id>
<content type='text'>
To make background writeback aware of raid5/6 stripes, we first need to
track the amount of dirty data within each stripe - we do this by
breaking up the existing sectors_dirty into per stripe atomic_ts

Signed-off-by: Kent Overstreet &lt;koverstreet@google.com&gt;
</content>
</entry>
<entry>
<title>bcache: Initialize sectors_dirty when attaching</title>
<updated>2013-06-27T00:09:16+00:00</updated>
<author>
<name>Kent Overstreet</name>
<email>koverstreet@google.com</email>
</author>
<published>2013-05-12T00:07:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=444fc0b6b167ed164e7436621a9d095e042644dd'/>
<id>urn:sha1:444fc0b6b167ed164e7436621a9d095e042644dd</id>
<content type='text'>
Previously, dirty_data wouldn't get initialized until the first garbage
collection... which was a bit of a problem for background writeback (as
the PD controller keys off of it) and also confusing for users.

This is also prep work for making background writeback aware of raid5/6
stripes.

Signed-off-by: Kent Overstreet &lt;koverstreet@google.com&gt;
</content>
</entry>
<entry>
<title>bcache: Fix/revamp tracepoints</title>
<updated>2013-06-27T00:09:15+00:00</updated>
<author>
<name>Kent Overstreet</name>
<email>koverstreet@google.com</email>
</author>
<published>2013-04-26T22:39:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=c37511b863f36c1cc6e18440717fd4cc0e881b8a'/>
<id>urn:sha1:c37511b863f36c1cc6e18440717fd4cc0e881b8a</id>
<content type='text'>
The tracepoints were reworked to be more sensible, and fixed a null
pointer deref in one of the tracepoints.

Converted some of the pr_debug()s to tracepoints - this is partly a
performance optimization; it used to be that with DEBUG or
CONFIG_DYNAMIC_DEBUG pr_debug() was an empty macro; but at some point it
was changed to an empty inline function.

Some of the pr_debug() statements had rather expensive function calls as
part of the arguments, so this code was getting run unnecessarily even
on non debug kernels - in some fast paths, too.

Signed-off-by: Kent Overstreet &lt;koverstreet@google.com&gt;
</content>
</entry>
<entry>
<title>bcache: Fix error handling in init code</title>
<updated>2013-05-15T07:48:14+00:00</updated>
<author>
<name>Kent Overstreet</name>
<email>koverstreet@google.com</email>
</author>
<published>2013-05-15T07:11:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f59fce847fc8483508b5028c24e2b1e00523dd88'/>
<id>urn:sha1:f59fce847fc8483508b5028c24e2b1e00523dd88</id>
<content type='text'>
This code appears to have rotted... fix various bugs and do some
refactoring.

Signed-off-by: Kent Overstreet &lt;koverstreet@google.com&gt;
</content>
</entry>
<entry>
<title>bcache: Don't export utility code, prefix with bch_</title>
<updated>2013-03-28T18:50:55+00:00</updated>
<author>
<name>Kent Overstreet</name>
<email>koverstreet@google.com</email>
</author>
<published>2013-03-28T18:50:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=169ef1cf6171d35550fef85645b83b960e241cff'/>
<id>urn:sha1:169ef1cf6171d35550fef85645b83b960e241cff</id>
<content type='text'>
Signed-off-by: Kent Overstreet &lt;koverstreet@google.com&gt;
Cc: linux-bcache@vger.kernel.org
Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
</content>
</entry>
<entry>
<title>bcache: A block layer cache</title>
<updated>2013-03-23T23:11:31+00:00</updated>
<author>
<name>Kent Overstreet</name>
<email>koverstreet@google.com</email>
</author>
<published>2013-03-23T23:11:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=cafe563591446cf80bfbc2fe3bc72a2e36cf1060'/>
<id>urn:sha1:cafe563591446cf80bfbc2fe3bc72a2e36cf1060</id>
<content type='text'>
Does writethrough and writeback caching, handles unclean shutdown, and
has a bunch of other nifty features motivated by real world usage.

See the wiki at http://bcache.evilpiepirate.org for more.

Signed-off-by: Kent Overstreet &lt;koverstreet@google.com&gt;
</content>
</entry>
</feed>
