<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-linux/fs/bcachefs/btree_cache.c, branch jd/bump-compilers</title>
<subtitle>WireGuard for the Linux kernel</subtitle>
<id>https://git.zx2c4.com/wireguard-linux/atom/fs/bcachefs/btree_cache.c?h=jd%2Fbump-compilers</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-linux/atom/fs/bcachefs/btree_cache.c?h=jd%2Fbump-compilers'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/'/>
<updated>2024-08-22T06:07:23Z</updated>
<entry>
<title>bcachefs: fix failure to relock in btree_node_fill()</title>
<updated>2024-08-22T06:07:23Z</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2024-08-20T19:04:15Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=5dbfc4ef72f15508882aff58c307b8425cf037a8'/>
<id>urn:sha1:5dbfc4ef72f15508882aff58c307b8425cf037a8</id>
<content type='text'>
Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: fix failure to relock in bch2_btree_node_mem_alloc()</title>
<updated>2024-08-22T06:07:23Z</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2024-08-19T19:22:55Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=3c5d0b72a8e8c19c960e8fefb7463067e58b6bc4'/>
<id>urn:sha1:3c5d0b72a8e8c19c960e8fefb7463067e58b6bc4</id>
<content type='text'>
We weren't always so strict about trans-&gt;locked state - but now we are,
and new assertions are shaking some bugs out.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Fix failure to relock in btree_node_get()</title>
<updated>2024-08-22T06:07:22Z</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2024-08-18T19:08:12Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=49203a6b9d12bfd1a223a67847a631a78f1cd782'/>
<id>urn:sha1:49203a6b9d12bfd1a223a67847a631a78f1cd782</id>
<content type='text'>
discovered by new trans-&gt;locked asserts

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: bch2_btree_id_to_text()</title>
<updated>2024-07-14T23:00:15Z</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2024-06-07T22:19:39Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=11169d9983d55f1550ba2d65e074128dd0373937'/>
<id>urn:sha1:11169d9983d55f1550ba2d65e074128dd0373937</id>
<content type='text'>
Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Use try_cmpxchg() family of functions instead of cmpxchg()</title>
<updated>2024-07-14T23:00:12Z</updated>
<author>
<name>Uros Bizjak</name>
<email>ubizjak@gmail.com</email>
</author>
<published>2024-05-23T09:19:26Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=68573b936d3fceda9cd5cce3a577e035d19ad426'/>
<id>urn:sha1:68573b936d3fceda9cd5cce3a577e035d19ad426</id>
<content type='text'>
Use try_cmpxchg() family of functions instead of
cmpxchg (*ptr, old, new) == old. x86 CMPXCHG instruction returns
success in ZF flag, so this change saves a compare after cmpxchg
(and related move instruction in front of cmpxchg).

Also, try_cmpxchg() implicitly assigns old *ptr value to "old" when
cmpxchg fails. There is no need to re-read the value in the loop.

No functional change intended.

Signed-off-by: Uros Bizjak &lt;ubizjak@gmail.com&gt;
Cc: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
Cc: Brian Foster &lt;bfoster@redhat.com&gt;
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: add counters for failed shrinker reclaim</title>
<updated>2024-05-09T20:24:29Z</updated>
<author>
<name>Daniel Hill</name>
<email>daniel@gluo.nz</email>
</author>
<published>2022-09-30T03:37:15Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=bceacfa97ec8b67a76efad2f95899434230b317c'/>
<id>urn:sha1:bceacfa97ec8b67a76efad2f95899434230b317c</id>
<content type='text'>
This adds distinct counters for every reason the btree node shrinker can
fail to free an object - if our shrinker isn't making progress, this
will tell us why.

Signed-off-by: Daniel Hill &lt;daniel@gluo.nz&gt;
Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: for_each_bset() declares loop iter</title>
<updated>2024-05-09T20:23:34Z</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2024-05-08T05:42:10Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=b6fb4269e707bb410e202fb160c8d7a188ef60f8'/>
<id>urn:sha1:b6fb4269e707bb410e202fb160c8d7a188ef60f8</id>
<content type='text'>
Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Improve sysfs internal/btree_cache</title>
<updated>2024-05-08T21:29:24Z</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2024-05-05T13:47:53Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=e11ecc6133b345a6c5919ae35920c384c6ff6f95'/>
<id>urn:sha1:e11ecc6133b345a6c5919ae35920c384c6ff6f95</id>
<content type='text'>
Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Run bch2_check_fix_ptrs() via triggers</title>
<updated>2024-05-08T21:29:20Z</updated>
<author>
<name>Kent Overstreet</name>
<email>kent.overstreet@linux.dev</email>
</author>
<published>2024-04-07T23:07:09Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=f40d13f94df744185f99732e89bc8d085729ecc9'/>
<id>urn:sha1:f40d13f94df744185f99732e89bc8d085729ecc9</id>
<content type='text'>
Currently, the reflink_p gc trigger does repair as well - turning a
reflink_p key into an error key if the reflink_v it points to doesn't
exist.

This won't work with online check/repair, because the repair path once
online will be subject to transaction restarts, but BTREE_TRIGGER_gc is
not idempotant - we can't run it multiple times if we get a transaction
restart.

So we need to split these paths; to do so this patch calls
check_fix_ptrs() by a new general path - a new trigger type,
BTREE_TRIGGER_check_repair.

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