klange changed the topic of #osdev to: Operating System Development || Don't ask to ask---just ask! || For 3+ LoC, use a pastebin (for example https://gist.github.com/) || Stats + Old logs: http://osdev-logs.qzx.com New Logs: https://libera.irclog.whitequark.org/osdev || Visit https://wiki.osdev.org and https://forum.osdev.org || Books: https://wiki.osdev.org/Books
dude12312414 has joined #osdev
dbana has quit [Quit: Lost terminal]
NieDzejkob has quit [Ping timeout: 252 seconds]
NieDzejkob has joined #osdev
isaacwoods has quit [Quit: WeeChat 3.2]
devcpu has quit [Quit: leaving]
<geist> vin: yeah i guess my point is there's the physical addressing range of the given core, say 44 or 48 or 52 bits, which is decided at design time based on whatever timing and space constraints they put into it.
<geist> that's the TLB/cache tag size stuff
<geist> and then there's whatever the memory controller(s), which are part of the same SoC, but logically separate from the cores can do
<geist> presumably they have a constraint that the former has to at least be able to address >= to the amount the memory controllers can
johnjay has quit [Ping timeout: 252 seconds]
matt|home has joined #osdev
johnjay has joined #osdev
transistor has quit [Read error: Connection reset by peer]
kuler has joined #osdev
<moon-child> 32 bits ought to be enough for anyone!
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
ElectronApps has joined #osdev
transistor has joined #osdev
Oli has joined #osdev
Oli_ has joined #osdev
Oli_ has quit [Client Quit]
AssKoala has joined #osdev
Oli has quit [Quit: leaving]
smeso has quit [Quit: smeso]
freakazoid333 has quit [Ping timeout: 250 seconds]
freakazoid343 has joined #osdev
smeso has joined #osdev
dutch has quit [Quit: WeeChat 3.2]
dutch has joined #osdev
Izem has joined #osdev
regreg has joined #osdev
srjek has quit [Ping timeout: 250 seconds]
flx- has joined #osdev
mahmutov has quit [Ping timeout: 240 seconds]
flx has quit [Ping timeout: 250 seconds]
Shikadi has quit [Ping timeout: 252 seconds]
Celelibi has quit [Ping timeout: 240 seconds]
sts-q has joined #osdev
Celelibi has joined #osdev
freakazoid343 has quit [Ping timeout: 250 seconds]
scaleww has joined #osdev
fkrauthan has quit [Quit: ZNC - https://znc.in]
fkrauthan has joined #osdev
ZombieChicken has joined #osdev
<geist> clever: started some reviews on the ext4
<geist> it's clear a WIP but have some comments
<clever> i'll take a look
<geist> that strncpy can probably just make a memcpy
<clever> geist: about the inode->i_flags, i added a comment to the header file, LK is already byte-swapping every field of the inode struct at load time
<geist> ah okay
<geist> yeah it's hard to see what's going on in the github ui
<clever> it was also hard to know when LK pre-swaps, and when it doesnt
<clever> so i added those comments to every struct i passed
<geist> yah should probably be consistent
<clever> for the LOCAL_TRACE comment, do you mean #if LOCAL_TRACE ?
<geist> yes
<clever> i was thinking of that already, because i wanted to move ext2_dump_inode to a different file
<geist> or whatever. it's clearly WIP. more like, figure out what to do with that
<clever> and then the compiler cant optimize out the call
mctpyt has quit [Ping timeout: 252 seconds]
AssKoala has quit [Ping timeout: 240 seconds]
Ameisen_ has quit [Quit: Quitting]
Ameisen has joined #osdev
ElectronApps has quit [Remote host closed the connection]
Izem has quit [Quit: Going offline, see ya! (www.adiirc.com)]
pretty_dumm_guy has joined #osdev
regreg has quit [Read error: Connection reset by peer]
regreg has joined #osdev
ZombieChicken has quit [Quit: WeeChat 3.2]
sprock has quit [Ping timeout: 240 seconds]
sprock has joined #osdev
ElectronApps has joined #osdev
sortie has joined #osdev
scaleww has quit [Remote host closed the connection]
zid has quit [Ping timeout: 240 seconds]
gorgonical has quit [Ping timeout: 252 seconds]
gorgonical has joined #osdev
johnjay has quit [Ping timeout: 252 seconds]
johnjay has joined #osdev
GeDaMo has joined #osdev
brynet has quit [Ping timeout: 240 seconds]
Terlisimo has quit [Quit: Connection reset by beer]
Terlisimo has joined #osdev
zid has joined #osdev
<Arsen> geist: you're implementing ext4?
<clever> Arsen: i am
<Arsen> ah, cool!
<bslsk05> ​github.com: initial code to support ext4 by cleverca22 · Pull Request #303 · littlekernel/lk · GitHub
<clever> LK already had ext2 support, but i wanted ext4 read-only
<Arsen> if you get write in that'd be quite impressive
<zid> Without write support I assume it's barely different to ext2 except for extra features you need to not bail over existing?
<zid> like various flags you wouldn't understand if you were ext2 only
<clever> zid: the only real difference i have ran into so far, is indirect blocks vs extents
<zid> so a small layout change you need to account for?
<clever> and re-doing the recursion logic
<clever> let me get an example
<bslsk05> ​github.com: lk/io.c at master · littlekernel/lk · GitHub
<clever> zid: this code deals with the ext2 style indirect blocks
<clever> it computes how many levels of recursion to do, and what index to use on each indirect block
<clever> because of how rigid ext2 was, you could compute that ahead of time, before reading any of those blocks
<bslsk05> ​github.com: lk/io.c at ext4 · librerpi/lk · GitHub
<clever> zid: but ext4, is using an extent tree
<clever> each node in the tree, has a depth, a file-block-nr, and a length
<clever> and the depth-0 nodes, also have a disk-block-nr
<clever> oh, they all have a disk-block-nr, but the ones above depth-0, point to another array of extents
<clever> Arsen: one thing that makes ext4 write support look daunting, is the flex_bg thing
<clever> i think it lets you just shove metadata out of the way, and make even bigger extents
<Arsen> I'd have expected journaling to be one of the more annoying parts
<clever> i'm entirely ignoring the journal right now
<clever> so if the fs is corrupt, LK wont do any rollbacks, and may get a corrupt view of the fs state
<clever> i was also recently looking into how sqlite's 2 journal modes function, and i can now see why WAL is so much faster
<clever> in the old journal style, the journal contains a backup of every block its about to modify
<clever> so a partial change to the real db, can be rolled back
<clever> but, that means applying the real change, requires random writes, scattered over the file
<clever> with the WAL style, the journal is instead a log of things you want to write
<clever> and once you append a commit record on the journal, the data is locked in
<clever> a seperate checkpointing task can run async, and copies journal->db in the background
<clever> so the old sqlite style, is creating a list of how to undo a partial update, and involves a lot of seeks during the time-critical update
<clever> but the wal style, is creating a list of how to update the db, and all readers just apply that in-ram, the time-critical part is purely sequential appends
<bslsk05> ​www.kernel.org: 3. Global Structures — The Linux Kernel documentation
brynet has joined #osdev
sortie has quit [Remote host closed the connection]
sortie has joined #osdev
AssKoala has joined #osdev
isaacwoods has joined #osdev
isaacwoods has quit [Ping timeout: 240 seconds]
immibis has joined #osdev
immibis has quit [Remote host closed the connection]
immibis has joined #osdev
AssKoala has quit [Ping timeout: 250 seconds]
sortie has quit [Quit: Leaving]
isaacwoods has joined #osdev
ahalaney has joined #osdev
nixture has joined #osdev
dennis95 has joined #osdev
isaacwoods has quit [Ping timeout: 252 seconds]
regreg has quit [Ping timeout: 240 seconds]
srjek has joined #osdev
zaquest has quit [Remote host closed the connection]
zaquest has joined #osdev
ElectronApps has quit [Remote host closed the connection]
isaacwoods has joined #osdev
Shikadi has joined #osdev
AssKoala has joined #osdev
rorx has quit [Ping timeout: 252 seconds]
rorx has joined #osdev
<vin> Do people still use FLOPS and MIPS as metric to compare different proccesors before investing in them? WHen you don't have the entire breakdown of sequence of instructions you'll run on it. Or is it pointless?
<gog> MIPS kinda falls apart since most architectures have some type of microinstruction pipeline now
<GeDaMo> I suspect it's mainly marketing nowadays
<gog> FLOPS is only really relevant for floating point operations and again depends on available extensions to the architecture and model
<gog> it's all kindof a mess
<vin> I see. So I asssumed a simple indipendent instruction (1 cycle) at a base fixed frequency, so IPC = 1/base_freq * no_of_ALUs * no_of_cores as theoretical max the processor can do
<vin> Not reasonable on it's own but IPC + FLOPS could in general provide the better processor?
<gog> it's not an entirely useless measurement
<gog> it can give some sort of basis for comparison
<gog> but it depends on the workload in question too
<vin> Yea I don't know any other metric I can use for comparision
<vin> right gog
skipwich has joined #osdev
freakazoid343 has joined #osdev
* zid makes a 1000THz cpu that takes 4 seconds to do an add, to win the bogomips competition
<gog> nice
<zid> Can I just take a moment to vent at how awful PE is, thanks
<zid> for example, the imports are loaded into memory and all the file info is thusly specified in vma
<zid> where we're going to we don't need PT_LOAD
* gog coffs
<zid> It's called COFF because it's a sickly little animal in the corner of the room
<zid> dying of some contractable disease
<gog> so am i
<gog> i have parvo
<zid> I got my contractable disease 5g firmware today
<zid> can't wait to be magnetic tomorrow
<gog> nice soon you'll want to wear a french maid outfit and say "nyaa~"
<zid> Is that a known symptom/
<gog> happened to me
<zid> sounds like wishful thinking
<zid> (I usually charge money)
mahmutov has joined #osdev
tacco has joined #osdev
dennis95 has quit [Quit: Leaving]
srjek has quit [Ping timeout: 240 seconds]
freakazoid343 has quit [Read error: Connection reset by peer]
AssKoala has quit [Ping timeout: 248 seconds]
freakazoid333 has joined #osdev
freakazoid333 has quit [Read error: Connection reset by peer]
freakazoid333 has joined #osdev
mhall has quit [Quit: Connection closed for inactivity]
jjuran has quit [Ping timeout: 250 seconds]
jjuran has joined #osdev
rwb has quit [Ping timeout: 248 seconds]
rwb has joined #osdev
AssKoala has joined #osdev
jjuran has quit [Ping timeout: 248 seconds]
GeDaMo has quit [Quit: Leaving.]
jjuran has joined #osdev
ckie is now known as cookie
ephemer0l has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
AssKoala has quit [Ping timeout: 250 seconds]
ahalaney has quit [Quit: Leaving]
wgrant has quit [Ping timeout: 252 seconds]
pretty_dumm_guy has quit [Quit: WeeChat 3.2]
superleaf1995 has joined #osdev
wgrant has joined #osdev
mahmutov has quit [Ping timeout: 240 seconds]
<superleaf1995> is regedit a good idea
<moon-child> given a registry, it is obviously a good idea
<moon-child> the registry itself, on the other hand--
<superleaf1995> ehh
<superleaf1995> i've been thinking of making a registry key-value interface for drivers
<superleaf1995> basically drivers expose stuff as if they were objects and value-write-reads act upon as if they were IOCTLs
<j`ey> like sysfs
<j`ey> ish
<superleaf1995> kind of
<superleaf1995> but more esoteric of course ;)
<moon-child> 'a' registry is not at all the same as 'the' windows registry
<superleaf1995> what is the difference?
<kazinsal> that's like asking what the difference is between the concept of a relational database and postgresql 13.4
<superleaf1995> understood
<superleaf1995> of course im not gonna copy windows registry it's a mess
superleaf1995 has quit [Quit: leaving]
<Bitweasil> Yay new mechanical keyboards to play with!
<Bitweasil> Clatter clatter!
<Bitweasil> (after realizing that I liked the Model M I was using, I picked up a few more, and wow RGB LED pain...)
<Bitweasil> Still not entirely sure about the compact layout, but I'll get used to it.
<Bitweasil> Takes less desk space, though.
* Bitweasil wanders back out.
tacco has quit []