<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/bcachefs/trace.h, branch linux-6.7.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.7.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.7.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2023-11-28T22:18:24Z</updated>
<entry>
<title>bcachefs: trace_move_extent_start_fail() now includes errcode</title>
<updated>2023-11-28T22:18:24Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2023-11-27T02:13:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ae4d612cc1f23a6137d0978b1620a2af2e201c1a'/>
<id>urn:sha1:ae4d612cc1f23a6137d0978b1620a2af2e201c1a</id>
<content type='text'>
Renamed from trace_move_extent_alloc_mem_fail, because there are other
reasons we colud fail (disk space allocation failure).

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Kill journal pre-reservations</title>
<updated>2023-11-15T04:44:43Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2023-11-05T02:54:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=006ccc3090e2f30f5f97857f3946312692a5279e'/>
<id>urn:sha1:006ccc3090e2f30f5f97857f3946312692a5279e</id>
<content type='text'>
This deletes the complicated and somewhat expensive journal
pre-reservation machinery in favor of just using journal watermarks:
when the journal is more than half full, we run journal reclaim more
aggressively, and when the journal is more than 3/4s full we only allow
journal reclaim to get new journal reservations.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Don't downgrade locks on transaction restart</title>
<updated>2023-11-02T01:11:08Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2023-10-27T19:23:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=be9e782df3cb557715630a61dc79d9f966737859'/>
<id>urn:sha1:be9e782df3cb557715630a61dc79d9f966737859</id>
<content type='text'>
We should only be downgrading locks on success - otherwise, our
transaction restarts won't be getting the correct locks and we'll
livelock.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: move: move_stats refactoring</title>
<updated>2023-10-31T16:18:38Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2023-10-23T20:21:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=96a363a7e68832054f2a93249335fd3efd870aa3'/>
<id>urn:sha1:96a363a7e68832054f2a93249335fd3efd870aa3</id>
<content type='text'>
data_progress_list is gone - it was redundant with moving_context_list

The upcoming rebalance rewrite is going to have it using two different
move_stats objects with the same moving_context, depending on whether
it's scanning or using the rebalance_work btree - this patch plumbs
stats around a bit differently so that will work.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: bch2_btree_id_str()</title>
<updated>2023-10-31T16:18:37Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2023-10-20T02:49:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=88dfe193bd2abd08926c1a0d48b770bb68ac8ccb'/>
<id>urn:sha1:88dfe193bd2abd08926c1a0d48b770bb68ac8ccb</id>
<content type='text'>
Since we can run with unknown btree IDs, we can't directly index btree
IDs into fixed size arrays.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: trace_read_nopromote()</title>
<updated>2023-10-22T21:10:12Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2023-09-12T00:44:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=feb5cc398120ce09fd7c72d361b3d14d9e280b96'/>
<id>urn:sha1:feb5cc398120ce09fd7c72d361b3d14d9e280b96</id>
<content type='text'>
Add a tracepoint to print the reason a read wasn't promoted.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Improve btree_path_relock_fail tracepoint</title>
<updated>2023-10-22T21:10:11Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2023-08-18T02:04:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=55d5276d2e7b7ac88a21a7ab89efd308734bb775'/>
<id>urn:sha1:55d5276d2e7b7ac88a21a7ab89efd308734bb775</id>
<content type='text'>
In https://github.com/koverstreet/bcachefs/issues/450, we're seeing
unexplained btree_path_relock_fail events - according to the information
currently in the tracepoint, it appears the relock should be succeeding.

This adds lock counts to the tracepoint to help track it down.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: More drop_locks_do() conversions</title>
<updated>2023-10-22T21:10:03Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2023-05-30T08:59:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=49c7cd9d8d5545cf45ef91f548d25b6dd23c72c7'/>
<id>urn:sha1:49c7cd9d8d5545cf45ef91f548d25b6dd23c72c7</id>
<content type='text'>
Using drop_locks_do() ensures that every unlock() is paired with a
relock(), with proper error checking.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>six locks: Kill six_lock_state union</title>
<updated>2023-10-22T21:10:02Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2023-05-21T03:57:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1fb4fe63178881a0ac043a5c05288d9fff85d6b8'/>
<id>urn:sha1:1fb4fe63178881a0ac043a5c05288d9fff85d6b8</id>
<content type='text'>
As suggested by Linus, this drops the six_lock_state union in favor of
raw bitmasks.

On the one hand, bitfields give more type-level structure to the code.
However, a significant amount of the code was working with
six_lock_state as a u64/atomic64_t, and the conversions from the
bitfields to the u64 were deemed a bit too out-there.

More significantly, because bitfield order is poorly defined (#ifdef
__LITTLE_ENDIAN_BITFIELD can be used, but is gross), incrementing the
sequence number would overflow into the rest of the bitfield if the
compiler didn't put the sequence number at the high end of the word.

The new code is a bit saner when we're on an architecture without real
atomic64_t support - all accesses to lock-&gt;state now go through
atomic64_*() operations.

On architectures with real atomic64_t support, we additionally use
atomic bit ops for setting/clearing individual bits.

Text size: 7467 bytes -&gt; 4649 bytes - compilers still suck at
bitfields.

Signed-off-by: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;
</content>
</entry>
<entry>
<title>bcachefs: Improve move path tracepoints</title>
<updated>2023-10-22T21:10:00Z</updated>
<author>
<name>Kent Overstreet</name>
</author>
<published>2023-04-20T19:24:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5a21764db13877eb1166baf12d2782ebb38b196e'/>
<id>urn:sha1:5a21764db13877eb1166baf12d2782ebb38b196e</id>
<content type='text'>
Move path tracepoints now include the key being moved. Also, add new
tracepoints for the start of move_extent, and evacuate_bucket.

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