<muurkha>
leah2: hmm, you're probably already in bed, but the ITS DDT debugger UI on display in this video is head and shoulders above GDB. there's no comparison at all
<muurkha>
like, instead of typing p *(int*)$ RET you type =
<muurkha>
and instead of typing p (char*)$ RET you type "
<muurkha>
you can define labels on the fly and subsequent disassembly output is phrased in terms of those labels
<muurkha>
and you can define them in terms of other labels; instead of set $loop=go+3 RET you type go+3 loop:
shicz has quit [Ping timeout: 265 seconds]
<muurkha>
I have no idea how Stallman ended up writing the slow and clumsy GDB CLI after spending a decade using this jewel
<muurkha>
maybe he felt that he had to appeal to dbx users?
shicz has joined #riscv
KombuchaKip has joined #riscv
freakazoid343 has joined #riscv
freakazoid333 has quit [Ping timeout: 258 seconds]
Jmabsd has joined #riscv
freakazoid12345 has joined #riscv
freakazoid343 has quit [Ping timeout: 268 seconds]
freakazoid343 has quit [Read error: Connection reset by peer]
freakazoid343 has joined #riscv
<sorear>
the problem is that "file" is a horribly leaky abstraction, 100s of thousands of small text and object files in a kernel working tree has different requirements than an ACID/SQL database or a media collection
<dh`>
well
<dh`>
I wouldn't say that it's a leaky abstraction, I'd say the problem there is that it's not leaky enough
<sorear>
what makes me sad is that we don't have transactions or even well-defined crash semantics
<dh`>
that is, those things are different but the abstraction doesn't expose the differences
<dh`>
really well-defined crash semantics turns out to be harder than one might think
<dh`>
I'm talking to you over a socket, I write a file somewhere and send you a message, and you write something somewhere completely different, then the system crashes
<dh`>
there's an observable ordering between those writes, but it's really expensive to track
freakazoid12345 has joined #riscv
<dh`>
and even more expensive to force a static ordering of everything because you can't track stuff like that
<dh`>
the right solution to this involves explicit I/O barriers and stuff and nobody's ever managed to get their act together on that
<dh`>
granted, most existing filesystems lose it long before you start worrying about whether you recovered to a state inconsistent with some pre-crash observation
freakazoid343 has quit [Ping timeout: 258 seconds]
freakazoid343 has joined #riscv
freakazoid12345 has quit [Ping timeout: 258 seconds]
PyroPeter has quit [Ping timeout: 265 seconds]
PyroPeter has joined #riscv
freakazoid343 has quit [Read error: Connection reset by peer]
freakazoid343 has joined #riscv
<muurkha>
dh`: agreed, if the LFS's storage is block-oriented rather than byte-extent-oriented then you don't get the ability to insert arbitrary numbers of bytes. That's probably a bad design for lots of small files, but it saves you a block copy on mmap() page faults, which might be important
<muurkha>
03:01 < dh`> and even more expensive to force a static ordering of everything because you can't track stuff
<muurkha>
like that
<muurkha>
also, the theory of relativity
<dh`>
BSD LFS was intentionally written to share the byte/block code with FFS
<muurkha>
yeah, to improve comparability
<muurkha>
that is, to separate out the performance effects of the "log-structured" aspect of the design from the rest of the filesystem code, IIRC
<muurkha>
Ousterhout was having none of it!
<dh`>
indeed
shicz has quit [Ping timeout: 264 seconds]
shicz has joined #riscv
yeirr has joined #riscv
freakazoid12345 has joined #riscv
BOKALDO has joined #riscv
freakazoid343 has quit [Ping timeout: 258 seconds]
shicz has quit [Ping timeout: 244 seconds]
riff-IRC has quit [Remote host closed the connection]
shicz has joined #riscv
riff-IRC has joined #riscv
yeirr has quit [Ping timeout: 260 seconds]
[itchyjunk] has quit [Remote host closed the connection]
shicz has quit [Ping timeout: 245 seconds]
shicz has joined #riscv
freakazoid343 has joined #riscv
freakazoid12345 has quit [Ping timeout: 265 seconds]