<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pm24.git/fs/bcachefs/alloc_types.h, branch v6.13</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>https://git.kobert.dev/pm24.git/atom?h=v6.13</id>
<link rel='self' href='https://git.kobert.dev/pm24.git/atom?h=v6.13'/>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/'/>
<updated>2024-05-08T21:29:24Z</updated>
<entry>
<title>bcachefs: Allocator prefers not to expand mi.btree_allocated bitmap</title>
<updated>2024-05-08T21:29:24Z</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2024-04-20T20:25:34Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=c6705091342c06c963015dac07ede417d2e0ad04'/>
<id>urn:sha1:c6705091342c06c963015dac07ede417d2e0ad04</id>
<content type='text'>
We now have a small bitmap in the member info section of the superblock
for "regions that have btree nodes", so that if we ever have to scan for
btree nodes in repair we don't have to scan the whole device(s).

This tweaks the allocator to prefer allocating from regions that are
already marked in this bitmap.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: BCH_WATERMARK_interior_updates</title>
<updated>2024-04-02T01:14:02Z</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2024-04-01T23:20:36Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=e2a316b3cc45a1198f3feb18707403bb7f0cbc15'/>
<id>urn:sha1:e2a316b3cc45a1198f3feb18707403bb7f0cbc15</id>
<content type='text'>
This adds a new watermark, higher priority than BCH_WATERMARK_reclaim,
for interior btree updates. We've seen a deadlock where journal replay
triggers a ton of btree node merges, and these use up all available open
buckets and then interior updates get stuck.

One cause of this is that we're currently lacking btree node merging on
write buffer btrees - that needs to be fixed as well.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Fix assorted checkpatch nits</title>
<updated>2023-10-22T21:10:10Z</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2023-08-07T16:04:05Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=1e81f89b020758fb424f8bb0f13405706d29dfc7'/>
<id>urn:sha1:1e81f89b020758fb424f8bb0f13405706d29dfc7</id>
<content type='text'>
Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Assorted fixes for clang</title>
<updated>2023-10-22T21:10:09Z</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2023-08-02T00:06:45Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=bf5a261c7af80a2ac10bcc3ce0382cb238eccb8b'/>
<id>urn:sha1:bf5a261c7af80a2ac10bcc3ce0382cb238eccb8b</id>
<content type='text'>
clang had a few more warnings about enum conversion, and also didn't
like the opts.c initializer.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Kill JOURNAL_WATERMARK</title>
<updated>2023-10-22T21:10:05Z</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2023-06-27T21:32:38Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=ec14fc6010fdcc40e54e289afc657a676ce93e72'/>
<id>urn:sha1:ec14fc6010fdcc40e54e289afc657a676ce93e72</id>
<content type='text'>
This unifies JOURNAL_WATERMARK with BCH_WATERMARK; we're working towards
specifying watermarks once in the transaction commit path.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: BCH_WATERMARK_reclaim</title>
<updated>2023-10-22T21:10:05Z</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2023-06-27T21:29:20Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=494036d862dfff1de9782492692da225479b7146'/>
<id>urn:sha1:494036d862dfff1de9782492692da225479b7146</id>
<content type='text'>
Add another watermark for journal reclaim - this is needed for the next
patches, that unify BCH_WATERMARK with JOURNAL_WATERMARK.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Rename enum alloc_reserve -&gt; bch_watermark</title>
<updated>2023-10-22T21:10:04Z</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2023-06-24T23:30:10Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=e53a961c6b1ced2ac1ab69fdf56706cf21e6f7a6'/>
<id>urn:sha1:e53a961c6b1ced2ac1ab69fdf56706cf21e6f7a6</id>
<content type='text'>
This is prep work for consolidating with JOURNAL_WATERMARK.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Rework open bucket partial list allocation</title>
<updated>2023-10-22T21:09:56Z</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2023-02-25T07:22:49Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=7635e1a6d6740ce76e1c2204f9237f01c98153b3'/>
<id>urn:sha1:7635e1a6d6740ce76e1c2204f9237f01c98153b3</id>
<content type='text'>
Now, any open_bucket can go on the partial list: allocating from the
partial list has been moved to its own dedicated function,
open_bucket_add_bucets() -&gt; bucket_alloc_set_partial().

In particular, this means that erasure coded buckets can safely go on
the partial list; the new location works with the "allocate an ec bucket
first, then the rest" logic.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: RESERVE_stripe</title>
<updated>2023-10-22T21:09:55Z</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2023-03-02T06:54:17Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=e84face6f0c9512d896eb1bf6c8238ea2fa7edd0'/>
<id>urn:sha1:e84face6f0c9512d896eb1bf6c8238ea2fa7edd0</id>
<content type='text'>
Rework stripe creation path - new algorithm for deciding when to create
new stripes or reuse existing stripes.

We add a new allocation watermark, RESERVE_stripe, above RESERVE_none.
Then we always try to create a new stripe by doing RESERVE_stripe
allocations; if this fails, we reuse an existing stripe and allocate
buckets for it with the reserve watermark for the given write
(RESERVE_none or RESERVE_movinggc).

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Improve dev_alloc_debug_to_text()</title>
<updated>2023-10-22T21:09:55Z</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2023-03-02T06:08:46Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=b1cfe5ed2b5d5dbd2d8bcb2a4c1131513a1b3e1c'/>
<id>urn:sha1:b1cfe5ed2b5d5dbd2d8bcb2a4c1131513a1b3e1c</id>
<content type='text'>
Now we also print the number of buckets reserved for each watermark.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
</feed>
