Vercas has quit [Quit: Ping timeout (120 seconds)]
Vercas has joined #osdev
Left_Turn has joined #osdev
Turn_Left has quit [Ping timeout: 246 seconds]
Vercas has quit [Ping timeout: 255 seconds]
[itchyjunk] has joined #osdev
DutchIngraham has joined #osdev
dutch has quit [Ping timeout: 246 seconds]
Vercas has joined #osdev
xenos1984 has quit [Ping timeout: 248 seconds]
gog has quit [Ping timeout: 255 seconds]
immibis_ has quit [Ping timeout: 268 seconds]
immibis_ has joined #osdev
immibis has joined #osdev
xenos1984 has joined #osdev
Vercas has quit [Quit: Ping timeout (120 seconds)]
Vercas has joined #osdev
fedorafan has joined #osdev
Vercas has quit [Client Quit]
Vercas has joined #osdev
fedorafansuper has quit [Ping timeout: 252 seconds]
Vercas has quit [Remote host closed the connection]
Vercas5 has joined #osdev
Vercas5 has quit [Client Quit]
Vercas has joined #osdev
immibis_ has quit [Remote host closed the connection]
immibis_ has joined #osdev
<ornx>
what's the best hardware timer to use on amd64? (apic, hpet, tsc(?? can this generate interrupts?), regular pic, rtc, ...)
<Mutabah>
HPET probably, but does depend on what you need the timer for
<klange>
tsc if you're on hardware where it's "reliable", hpet otherwise, and those two are generally synchronized to each other.
<klange>
I use apic timers / pit for simple periodic signalling to force task switches because I don't care, I abuse TSC times for everything else, and I claim a minimum hardware requirement of Nehalem since that's when reliable tsc became the norm.
gildasio has quit [Remote host closed the connection]
<klange>
and my clock is completely broken in bochs :)
gildasio has joined #osdev
<ornx>
i only care about recent hardware so TSC might be best, since it seems to have lowest overhead
<ornx>
(intended use is scheduling)
<klange>
If you want interrupts out of the TSC, APIC timers can be set to "TSC deadline" modes.
nyah_ has quit [Quit: leaving]
Burgundy has quit [Ping timeout: 252 seconds]
fedorafansuper has joined #osdev
fedorafan has quit [Ping timeout: 252 seconds]
sugarbeet has joined #osdev
sugarbeet has left #osdev [#osdev]
srjek has quit [Ping timeout: 264 seconds]
Vercas has quit [Quit: Ping timeout (120 seconds)]
Vercas has joined #osdev
Vercas has quit [Ping timeout: 255 seconds]
Vercas has joined #osdev
slidercrank has joined #osdev
smach has joined #osdev
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
Vercas has quit [Quit: Ping timeout (120 seconds)]
Vercas has joined #osdev
fedorafansuper has quit [Ping timeout: 246 seconds]
[itchyjunk] has quit [Read error: Connection reset by peer]
mctpyt has quit [Ping timeout: 246 seconds]
<sham1>
Hello
smach has quit []
bgs has joined #osdev
gxt has joined #osdev
bgs has quit [Remote host closed the connection]
Vercas has quit [Quit: Ping timeout (120 seconds)]
Vercas has joined #osdev
truy has joined #osdev
mlombard has joined #osdev
moon-child is now known as RickJames
antranigv has quit [Ping timeout: 246 seconds]
Turn_Left has joined #osdev
nur has quit [Remote host closed the connection]
Left_Turn has quit [Ping timeout: 252 seconds]
nyah has joined #osdev
craigo has joined #osdev
craigo has quit [Client Quit]
craigo has joined #osdev
small has joined #osdev
RickJames is now known as moon-child
danilogondolfo has joined #osdev
antranigv has joined #osdev
gog has joined #osdev
mlombard has quit [Remote host closed the connection]
mlombard has joined #osdev
small has quit [Quit: Konversation terminated!]
truy has left #osdev [#osdev]
GeDaMo has joined #osdev
netbsduser has quit [Remote host closed the connection]
netbsduser has joined #osdev
netbsduser has quit [Remote host closed the connection]
netbsduser has joined #osdev
truy has joined #osdev
netbsduser has quit [Remote host closed the connection]
netbsduser has joined #osdev
netbsduser has quit [Remote host closed the connection]
netbsduser has joined #osdev
Burgundy has joined #osdev
netbsduser has quit [Remote host closed the connection]
netbsduser has joined #osdev
netbsduser has quit [Remote host closed the connection]
netbsduser has joined #osdev
netbsduser has quit [Remote host closed the connection]
netbsduser has joined #osdev
netbsduser has quit [Remote host closed the connection]
netbsduser has joined #osdev
mlombard has quit [Remote host closed the connection]
fedorafan has joined #osdev
netbsduser has quit [Remote host closed the connection]
netbsduser has joined #osdev
truy has quit [Remote host closed the connection]
netbsduser has quit [Remote host closed the connection]
netbsduser has joined #osdev
netbsduser has quit [Remote host closed the connection]
netbsduser has joined #osdev
micttyl has joined #osdev
small has joined #osdev
small has quit [Client Quit]
netbsduser` has joined #osdev
netbsduser has quit [Ping timeout: 246 seconds]
fedorafan has quit [Ping timeout: 252 seconds]
fedorafan has joined #osdev
craigo has quit [Ping timeout: 252 seconds]
fedorafansuper has joined #osdev
bauen1 has quit [Ping timeout: 260 seconds]
fedorafan has quit [Ping timeout: 252 seconds]
fedorafansuper has quit [Ping timeout: 252 seconds]
fedorafan has joined #osdev
<kaichiuchi>
hi
<immibis>
hi
<sham1>
lo
<immibis>
off-topic reminder: capitalism is fascism justified with spreadsheets
<sham1>
For certain values of "capitalism" and "fascism"
<sham1>
And "spreadsheet"
<immibis>
for their usual values
<immibis>
nothing that the usual value of capitalism is not "free markets", the usual value of fascism is not Auschwitz, and not all spreadsheets are made in Excel
<immibis>
Noting*
fedorafan has quit [Ping timeout: 252 seconds]
fedorafan has joined #osdev
Vercas has quit [Remote host closed the connection]
Vercas has joined #osdev
slidercrank has quit [Ping timeout: 252 seconds]
bauen1 has joined #osdev
srjek has joined #osdev
epony has quit [Quit: QUIT]
SGautam has joined #osdev
mlombard has joined #osdev
nur has joined #osdev
fedorafan has quit [Ping timeout: 246 seconds]
[itchyjunk] has joined #osdev
fedorafan has joined #osdev
micttyl has quit [Quit: leaving]
<Jari--_>
Migraines panic attacks over, so I was thinking I could finish my runtime dynamic loader / dynamic linker
<Jari--_>
It helps a lot to understand the code you do borrow, avoiding doing mistakes.
<Jari--_>
So basically it is the relocation tab, and there are ASCII symbols pointing to them, you walk through the binary dynamic area and dang you got a static binary in the memory allocated by the kmalloc (or whatever you do call it).
<Jari--_>
I would like to have aid on this, a good example for dynamic loader, I was thinking about an OSDEV project with a working loader, to avoid doing the mistakes 10s 100s others do writing it from the scratch.
<bslsk05>
alexdboxall/ATOS - ATOS is an operating system inspired by OS/161. It is designed to be lightweight and easy to understand. Currently implemented for x86, but should be easy to port to other platforms. (0 forks/5 stargazers/BSD-3-Clause)
<kaichiuchi>
you might be thinking “ok” but what I really want is your blessing
* kaichiuchi
wait
<mjg>
kaichiuchi: truenas is moved to linux i think
<kaichiuchi>
no not entirely
<zid`>
what's that spanish for, mjg?
<mjg>
you can feel blessed to use any bsd or linux you see fit
<mjg>
oh huh
<mjg>
x86 asm: Replace .align with .balign
<mjg>
The .align directive used to align storage locations is
<mjg>
on others the argument is interpreted as a shift value. The current
<mjg>
usage expects the first interpretation.
<mjg>
ambiguous. On some platforms and assemblers it takes a byte count,
<mjg>
TIL
<zid`>
oopsie, did someone align to 2^4 instead of 4
<froggey>
always .balign or .p2align, never .align
<mjg>
never even .align!
<mjg>
there is this funny idea that computers are fast bro, therefore no need to optimize anything
<geist>
sometimes you gotta. but i 100% agree with the balign thing
<geist>
since it's ambiguous of it's byte or shift
<mjg>
i did not know it is ambiguous
<mjg>
good thing everytihng is well defined, innit
<geist>
it's just different arches define their .align to mean different things, is all
<mrvn>
But I do want to align my data to a 2^4096 boundary.
gog has quit [Quit: Konversation terminated!]
<mjg>
heh, i have to say the sometimes seen changelogs on top of files
xenos1984 has quit [Read error: Connection reset by peer]
<mjg>
are kind of amusing
<mjg>
i wonder why nobody whacked them
<mjg>
is this seen as part of copyright perhaps?
<mjg>
* Start bdflush() with kernel_thread not syscall - Paul Gortmaker, 12/95
<geist>
i guess the other question is why whack them? it's basically a historical artifact
<mjg>
to not teach people to ignore comments
<marshmallow>
might sound stupid, but when on linux I launch the browser, who's actually invoking fork()+exec() to spawn an instance of the browser?
<mjg>
i guess depends how you spawn the browser
<mjg>
pstree may be able to tell you
<mjg>
note though if the parent is systemd then the real thing was something else
xenos1984 has joined #osdev
<marshmallow>
systemd invokes the kernel which spawns the browser?
<marshmallow>
uhmm OK should make sense
<geist>
marshmallow: if it's a modern browser it probably has a process per tab, in which case theres *probably* a main control process in your stack of firefox/chrome/etc processes
<geist>
it gets the 'create new tab/window' message from the gui process, spawns a new one, sets up all the IPC between it so it can share graphics bits, and then that process runs that tab
craigo has joined #osdev
<geist>
otherwise if you mean the first time it's started, probably depends on how you start it
craigo has quit [Remote host closed the connection]
<geist>
if you run it on the command line, it's probably ust running like any other program
<marshmallow>
sure, no doubt about it, probably like a process for each renderer (gpu, ui, etc...)
<geist>
if you click on an icon it'll be whatever your window manager/environment shell does, but probably same. probably not involving systemd
<geist>
yeah
DynamiteDan has quit [Excess Flood]
<marshmallow>
oh OK, so the window manager may invoke fork for the browser when clicking on an icon
<geist>
yah
<marshmallow>
if on CLI, possibly systemd?
<geist>
folks may nitpick if it's a window manager or it's part of a desktop environembt, etc
<geist>
cli it's probably just the shell
<mrvn>
the WM might just tell dbus
DynamiteDan has joined #osdev
<geist>
i seriously double systemd would be involved in starting a process like that
<geist>
s/double/doubt
<mrvn>
geist: systemd --user?
<geist>
maybe, i guess i dunno how that part of systemd works
<geist>
but still seems that's mostly for per user services, like pulseaudio, or something
<geist>
or a per user dbus or whatnot
<mrvn>
s/that part of// and the answer is "badly"
<geist>
a browser is still an app in this 'click on it' context
<mrvn>
geist: yes and now. Because the second time you click it just tells the first instance to open a new tab. So it's kind of a service too
<mrvn>
-w
* geist
shrugs
<mrvn>
my firefox is started from a terminal. I don't do the icon thing.
<geist>
i'd like to think the model is still mostly: there's a gui shell you're interacting with that's largely directly spawning an instance of the program the link refers to
<geist>
ie, explorer.exe on windows, or whatever your gui shell is on linux (gnome, kde, whatever)
<geist>
but yeah it could send a dbus message to something else which starts it, etc
<mrvn>
one could just look at the desktop file behind the icon to see what it starts
ornitorrincos has quit []
<mjg>
so looking at pstree on my laptop show stuff for me to remove
<mjg>
like cups
ornitorrincos has joined #osdev
<mjg>
what on earth is mbim-proxy
<geist>
OH NO DONT TOUCH THA....
<mjg>
The following packages will be REMOVED: fwupd fwupdate libmbim-proxy libqmi-glib5 libqmi-proxy modemmanager
<mjg>
now fwupd makes me worried
<geist>
yeah i have manually removed modemmanager on a few of my ubuntu boxes. definitely something i dont need that sits around and futzes with things
<mjg>
bluetoothd
<mjg>
looks ilke i got tons of cleanup to do here
<geist>
if you're not using bluetooth, sure
<mjg>
ye
<mjg>
i only got 12G of ram
<mjg>
and lollerfox eats vast majority of it
<geist>
gosh yeah you better get rid of those services before your shell stops working
<geist>
happiness is a clean unix install with like a shell and one process
<mjg>
dude 2 free megs of ram are a difference between smooth sailing
<mjg>
and swapping
<mjg>
and once it starts swapping...
<geist>
dude yeah and with 12G you're right on the edge
<geist>
64G minimum or i aint touchin no computer
<mjg>
you think i'm fucking around with that statement?
<clever>
i recently found that 16gig of my ram was suspect (bit flips occuring) and removed it, so ive lost half my ram, but its barely noticable
<mjg>
i got 1G swap and it is nearly full most of the time
<geist>
yeah i do think you'er fucking around with that statement
<mjg>
there is a point i don't understand where it magically decides to OOM shit instead
<geist>
and/or you have a misconfigured system
<mjg>
basically everything works until it suddenly does not, all while i don't change squat
<geist>
sounds like you have something misconfigured
<mjg>
it may be firefox randomly decides to grab way more ram
<mjg>
it is a default ubuntu install, except i whacked the default vm in favor of i3
<geist>
huh. how many tabs do you keep open?
<geist>
i honestlyd ont have any experience with firefox with lots of tabs but i assume it's as smart as the other browsers and knows when to stop things in the background
<geist>
chrome will consume a lot of ram, but also knows how to back off when the system si running low
unimplemented has joined #osdev
<mjg>
hard to say, definitely 30+
<mjg>
includes wankers like slack
<geist>
do you have a bunch of other processes that are consuming lots of it?
<mjg>
times two
<mjg>
no, rss is almost all firefox
<geist>
well, anyway youre smart enough to figure it out, but that's a bit odd
<mjg>
i think it just leaks memory man
<geist>
but it's possible firefox is not as good at dealing with that sort of thing
<geist>
or that
<mjg>
it's been quite a while since i straced firefox