<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-linux/fs/bcachefs/btree_key_cache.c, branch update-toolchain</title>
<subtitle>WireGuard for the Linux kernel</subtitle>
<id>https://git.zx2c4.com/wireguard-linux/atom/fs/bcachefs/btree_key_cache.c?h=update-toolchain</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-linux/atom/fs/bcachefs/btree_key_cache.c?h=update-toolchain'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/'/>
<updated>2024-08-14T02:56:50Z</updated>
<entry>
<title>bcachefs: delete faulty fastpath in bch2_btree_path_traverse_cached()</title>
<updated>2024-08-14T02:56:50Z</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2024-08-14T02:40:39Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=a24e6e7146e361aa0855cf8ee3b2e80b8eb692e3'/>
<id>urn:sha1:a24e6e7146e361aa0855cf8ee3b2e80b8eb692e3</id>
<content type='text'>
bch2_btree_path_traverse_cached() was previously checking if it could
just relock the path, which is a common idiom in path traversal.

However, it was using btree_node_relock(), not btree_path_relock();
btree_path_relock() only succeeds if the path was in state
BTREE_ITER_NEED_RELOCK.

If the path was in state BTREE_ITER_NEED_TRAVERSE a full traversal is
needed; this led to a null ptr deref in
bch2_btree_path_traverse_cached().

And the short circuit check here isn't needed, since it was already done
in the main bch2_btree_path_traverse_one().

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Simplify btree key cache fill path</title>
<updated>2024-07-14T23:00:16Z</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2024-06-08T21:49:11Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=d2cb6b219d37284d78deeac1be8eb9d7670eebd1'/>
<id>urn:sha1:d2cb6b219d37284d78deeac1be8eb9d7670eebd1</id>
<content type='text'>
Don't allocate the new bkey_cached until after we've done the btree
lookup; this means we can kill bkey_cached.valid.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: bch2_btree_key_cache_drop() now evicts</title>
<updated>2024-07-14T23:00:16Z</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2024-06-08T19:20:53Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=789566da258f27ec5bffd4ae685306c71d7b4809'/>
<id>urn:sha1:789566da258f27ec5bffd4ae685306c71d7b4809</id>
<content type='text'>
As part of improving btree key cache coherency, the bkey_cached.valid
flag is going away.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: btree_path_cached_set()</title>
<updated>2024-07-14T23:00:15Z</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2024-06-08T19:24:14Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=c30402e5483df785a5319ffe07127bfd7238d8d9'/>
<id>urn:sha1:c30402e5483df785a5319ffe07127bfd7238d8d9</id>
<content type='text'>
new helper - small refactoring

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Leave a buffer in the btree key cache to avoid lock thrashing</title>
<updated>2024-06-10T17:17:16Z</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2024-06-07T18:25:18Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=bf2b356afdcafa18db1b409f7039059d1fd6f25f'/>
<id>urn:sha1:bf2b356afdcafa18db1b409f7039059d1fd6f25f</id>
<content type='text'>
Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Fix reporting of freed objects from key cache shrinker</title>
<updated>2024-06-10T17:17:16Z</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2024-06-07T00:01:34Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=2760bfe38826f65b1806f1cc62744404b5917dea'/>
<id>urn:sha1:2760bfe38826f65b1806f1cc62744404b5917dea</id>
<content type='text'>
We count objects as freed when we move them to the srcu-pending lists
because we're doing the equivalent of a kfree_srcu(); the only
difference is managing the pending list ourself means we can allocate
from the pending list.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: increase key cache shrinker batch size</title>
<updated>2024-06-10T17:17:16Z</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2024-06-06T23:12:11Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=bc65e98e68dac2c0b588e67ea75ee8674c208fc7'/>
<id>urn:sha1:bc65e98e68dac2c0b588e67ea75ee8674c208fc7</id>
<content type='text'>
Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Enable automatic shrinking for rhashtables</title>
<updated>2024-06-10T17:17:16Z</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2024-06-06T22:56:59Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=5ae67abcdfdfa49de84be00320ffe8a669ef674f'/>
<id>urn:sha1:5ae67abcdfdfa49de84be00320ffe8a669ef674f</id>
<content type='text'>
Since the key cache shrinker walks the rhashtable, a mostly empty
rhashtable leads to really nasty reclaim performance issues.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Fix locking assert</title>
<updated>2024-05-28T15:29:26Z</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2024-05-27T06:40:06Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=218e5e0c2a3acdb29ccbdfbfdd5e2def27d3aae2'/>
<id>urn:sha1:218e5e0c2a3acdb29ccbdfbfdd5e2def27d3aae2</id>
<content type='text'>
We now track whether a transaction is locked, and verify that we don't
have nodes locked when the transaction isn't locked; reorder relocks to
not pop the new assert.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: x-macroize journal flags enums</title>
<updated>2024-05-08T21:29:22Z</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2024-04-30T10:20:37Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=b895c70326aa43b48d9b862e5e017de5fa83d844'/>
<id>urn:sha1:b895c70326aa43b48d9b862e5e017de5fa83d844</id>
<content type='text'>
Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
</feed>
