Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

grub2 immer Single-CPU?

Alles rund um die verschiedenen Konsolen und shells sowie die Programmierung unter Linux

Moderator: Moderatoren

Antworten
MH1962
Member
Member
Beiträge: 99
Registriert: 10. Aug 2015, 16:42

grub2 immer Single-CPU?

Beitrag von MH1962 » 20. Dez 2018, 09:09

Mal eine sehr technische Frage:

Verstehe ich das richtig, dass so lange grub2 aktiv ist, immer nur eine CPU im Einsatz ist, und zwar die mit der APIC-ID 0, also die primäre CPU?

Darauf scheinen Tests von mir hinzudeuten, aber mit anderen CPUs, anderen BIOSen bzw. UEFIs, anderen Einstellungen usw. kann das ja durchaus anders sein.

Eine Google-Suche zu der Thematik scheint meine Vermutung weder zu bestätigen noch zu widerlegen.

Wer weiß es?

Werbung:
drcux
Hacker
Hacker
Beiträge: 383
Registriert: 9. Aug 2005, 12:14

Re: grub2 immer Single-CPU?

Beitrag von drcux » 20. Dez 2018, 19:17

Da Grub nun wirklich nicht die Power von MultiCPU's braucht, wird das wohl so sein. Warum sollte man Grub für mehr als einen Prozessor programmieren? Das er immer die erste CPU bekommt ist da dann doch auch logisch, es läuft ja sonst nix anderes....

MH1962
Member
Member
Beiträge: 99
Registriert: 10. Aug 2015, 16:42

Re: grub2 immer Single-CPU?

Beitrag von MH1962 » 21. Dez 2018, 06:10

Da hatte ich mich gefreut, dass eine Antwort kommt, und jetzt bin ich offengestanden etwas betroffen über deren Wortwahl, "wird das wohl so sein", "ist auch logisch". Was habe ich falsch gemacht?

Vielleicht hätte ich doch den Hintergrund meiner Anfrage etwas näher beleuchten sollen. Holen wir das also nach:

Ich beschäftige mich im Moment sehr intensiv mit den Intel-Prozessoren und deren "Hardware-naher" Programmierung. Im Moment mit dem TSC (TimeStamp Counter), also dem Timer direkt in der CPU. Der ist dort als sogenanntes MSR, also "model specific register" implementiert (bzw. ganz genau genommen gibt es sogar mehrere MSRs, die damit was zu tun haben).

Was ich machen will, ist ein grub-Module zu schreiben, was mit dem TSC arbeitet. Warum? Hauptsächlich um mein Wissen zu erweitern. Warum grub? Weil ich da direkt Zugriff auf die Hardware habe und kein Betriebssystem mir irgendwie dazwischen funkt. Und ja, ich könnte auch DOS nehmen, ich will aber grub nehmen, um auch über den was zu lernen...

Da jede CPU, ja jeder Core ein eigenes Register für den TSC hat, können diese "auseinander laufen". Wenn also unter grub immer derselbe Prozessor benutzt wird, brauche ich keine Vorkehrungen dafür zu treffen. Wenn mehrere Cores benutzt wird, muss man hier aufwändiger arbeiten, um sicher zu stellen, dass die Zeit nicht scheinbar rückwärts läuft, nur weil grade ein anderer Core benutzt wurde, der eben etwas "zurück" ist (der Linux-Kernel macht da auch Vorkehrungen, wenn ich das richtig verstanden habe).

Daher meine Frage. Ein "ist tatsächlich immer so, weil..." würde mich hier etwas beruhigen. So lange ich das nicht habe, werde ich mal Vorsichtsmaßnahmen einbauen...

Benutzeravatar
Geier0815
Administrator
Administrator
Beiträge: 4297
Registriert: 14. Jun 2004, 09:12

Re: grub2 immer Single-CPU?

Beitrag von Geier0815 » 21. Dez 2018, 10:41

Guck hier doch mal bzw frag da auf der Maillingliste nach. Das Du hier auf einen grub-entwickler triffst, halte ich für unwahrscheinlich.
Wenn Windows die Lösung ist...
kann ich dann bitte das Problem zurück haben?

MH1962
Member
Member
Beiträge: 99
Registriert: 10. Aug 2015, 16:42

Re: grub2 immer Single-CPU?

Beitrag von MH1962 » 22. Dez 2018, 05:52

Geier0815 hat geschrieben:
21. Dez 2018, 10:41
Guck hier doch mal bzw frag da auf der Maillingliste nach. Das Du hier auf einen grub-entwickler triffst, halte ich für unwahrscheinlich.
Auf einer Entwickler-Mailing-Liste nach elementaren Dingen zu fragen, bringt meiner Erfahrung nach nix. Man bekommt einfach gar keine Antwort oder im "günstigsten" Fall den "dezenten" Hinweis, dass man erst mal seine Hausaufgaben machen soll, sprich, sich mit den elementaren Dingen beschäftigen soll. Aber da bin ich grade eh dabei, ist halt mühsam, aber man lernt was dabei (auf dem Weg dahin auch unerwartetes...).

Ich hatte grade mal die grub-Mailing-Liste durchsucht und eine Anfrage von jemanden gefunden, der sich mit ähnlichen Dingen beschäftigt: http://lists.gnu.org/archive/html/grub- ... 00082.html . Wie erwartet hat er keine Antwort bekommen...

MH1962
Member
Member
Beiträge: 99
Registriert: 10. Aug 2015, 16:42

Re: grub2 immer Single-CPU?

Beitrag von MH1962 » 31. Dez 2018, 06:06

So, die Sache hat sich so gut wie erledigt.

Ich habe mittlerweile gelernt, wie man sekundäre CPUs startet und stoppt (Inter-Processor-Interrupts über den APIC) und konnte das auch nach etwas Startschwierigkeiten in einem grub-Modul umsetzen.

Ich habe auch ein Forum entdeckt, wo man über diese Dinge diskutieren kann, auf osdev.org . EIn deutschsprachiges Forum "gab" es mal auf lowlevel.eu , das scheint aber nach Jahren intensiver Aktivität mal irgendwann völlig eingeschlafen zu sein. Es scheint ja Interesse für das Thema zu geben, weiß irgendjemand, wo sich die Leute jetzt auf Deutsch austauschen? (Ich weiß, dass die Antwort auf eine solche Frage meistens "Facebook" ist, aber bei dem Thema kann ich es mir nicht wirklich vorstellen...)

Antworten