[Custom_Kernel][OC][!Nur_für_Verrückte!]A210 4.1.1

Status
Für weitere Antworten geschlossen.
Super sache, danke für die neuen Erkenntnisse :). cpu temperatur machst du über thermal? (wenn ich fragen darf?)

edit:
@wildgunm@n
geht oc dann jetzt auch?
 
  • Danke
Reaktionen: W!ldGunM@n
Vetzki schrieb:
cpu temperatur machst du über thermal? (wenn ich fragen darf?)

Da habe ich nur eine option in der menuconfig gesehen. Diese steht in der orginalen .config aber auch auf 'Yes'... Ist insofern nichts neues (sorry, falls es klang) sollte aber für OC user eine Beruhigung sein...

PS: Klar darfst Du fragen, denn
1. Der kernel steht unter GPL -> Du hast das generelle Recht zu fragen.
2. Wenn ich mein eigenes Süppchen kochen wollte, sollte ich wohl besser nicht in ein Forum gehen.
3. Es macht Spass, sich mit Dir auszutauschen...

Grüsse Uwe
 
  • Danke
Reaktionen: W!ldGunM@n
Morgen die Herrn Spezialisten :tongue:

Also... der Kernel läuft, Uwe... OC funktioniert tadellos :love::love::love:

Super Arbeit, danke euch Beiden
 
Ich gehe nicht davon aus, dass sich allzuviele Benutzer OC in ihrem Kernel haben wollen. Dies würde für künftige Entwicklungen bedeuten, dass man den Kernel immer mit und ohne OC bauen müsste.

Da es nun schon ziemlich viele Stellen sind, an denen wegen OC in den Kernel-Sourcen geändert wurden, habe ich nun einen Kernel-Command-Line Parameter oc_enable eingeführt.

Per default ist er 0, dann ist OC deaktiviert. Wird er auf einen Wert ungleich 0 gestetzt (z.B. oc_enable=1) ist das OC aktiviert.

Damit muß man nicht immer in den Sourcen ändern, wenn man eine Version mit OC und eine ohne OC erstellen

Den Command-Line Parameter setzt man beim bauen des boot.img, d.h. man muss zwei boot.img erzeugen, eines mit OC und eines ohne.

Um einen Command-Line parameter zu setzen ruft man mkbootimg so auf:
Code:
/opt/bin/mkbootimg --kernel zImage --ramdisk ramdisk.gz  --cmdline "oc_enable=1" --pagesize 2048 --base 00000800 -o boot.oc_enable.img

Das setzen von 'oc_enable=0' ist nicht nötig, da 0 der default-Wert ist.

Das Auslesen des Command-Line Parameters geht so:

Code:
/*
*Get Commandline Parameter oc_enable
*/
static int oc_enable=0;

static int get_oc_enable(void)
{
	return oc_enable;
}
static int __init oc_enable_ep(char *options)
{
	char *p = options;
	int tmp = memparse(p, &p);
	if (tmp != 0)
		oc_enable = tmp;
	return 0;
}
early_param("oc_enable", oc_enable_ep);

Dann kann man später im Code abhängig von oc_enable agieren:

Code:
			case 1: /* MID => T30L */
				if (get_oc_enable()!=0)
				{
					/* For overclocking of T30L use values from T37 */
		   			cpu_speedo_id = 13;	
					soc_speedo_id = 2;
					threshold_index = 14;
				}
				else
				{
		   			cpu_speedo_id = 7;	
					soc_speedo_id = 1;
					threshold_index = 10;
				}

@Vetzki:

Um in unseren Sourcen nicht völlig auseinander zu laufen (falls wir uns austauschen, um über die gleichen Zeilennummern zu sprechen), sollten wir unsere Source austauschen. Ich hänge daher meine geänderte tegra3_speedo.c hier an...

Grüsse Uwe
 

Anhänge

  • tegra3_speedo.c.tar.gz
    10 KB · Aufrufe: 124
W!ldGunM@n schrieb:
Morgen die Herrn Spezialisten :tongue:

Also... der Kernel läuft, Uwe... OC funktioniert tadellos :love::love::love:

Super Arbeit, danke euch Beiden

Der Dank gebührt Vetzki, er hat den entscheidenten Hinweis mit der falschen CPU Process ID gefunden :thumbup:

Grüsse Uwe
 
Ich glaube, das mit der Commandline wäre aber für die meisten User schon zu kompliziert... gibts da nicht ne andere Möglichkeit... ne app z.b. oder wenigstens eine scriptdatei ?
 
W!ldGunM@n schrieb:
Ich glaube, das mit der Commandline wäre aber für die meisten User schon zu kompliziert... gibts da nicht ne andere Möglichkeit... ne app z.b. oder wenigstens eine scriptdatei ?

Das ist auch nicht für den Enduser gedacht, sondern nur für die Kernel-Entwickler.

Ich möchte in zukünftigen Kernel-Entwicklungen nicht jedesmal hingehen müssen, und den neuesten Kernel einmal mit OC und einmal ohne OC bauen müssen, sondern NUR 1 Kernel bauen. (Und ich habe da schon noch so ein paar Ideen, was ich mit unserem Kernel anstellen will :tongue:)

Da ich sowieso dann aus dem Kernel das boot.img baue, baue ich dann gleich zwei und veröffentliche auch zwei boot.img.

Eine App wird niemals schon zur boot-Zeit wirksam, und wenn eine Kern geweckt wird, geht er auch kurz auf Vollgas, bevor eine App ihn wieder einfängt.

D.h. wer kein OC will, wird sich nicht mit einer App begnügen sondern wird ein boot.img wollen, in dem es KEIN OC gibt, und nicht eines, in dem das OC von einer (mehr oder weniger zuverlässigen) App unterdrückt wird.

Grüsse Uwe

Der ursprüngliche Beitrag von 11:45 Uhr wurde um 11:57 Uhr ergänzt:

W!ldGunM@n schrieb:
...gibts da nicht ne andere Möglichkeit... ...eine scriptdatei ?

Eine scriptdatei wäre übrigens auch nicht möglich, da zu so einem frühen Zeitpunkt im boot-up, in dem OC aktiviert wird, das File-System noch garnicht gemountet ist...

Grüsse Uwe
 
Zuletzt bearbeitet von einem Moderator:
  • Danke
Reaktionen: W!ldGunM@n
War nur ne Idee... wie gesagt... Kernel ist nicht meine Materie...
Der Dank gebührt euch beiden... schließlich habt ihr euch die Zeit um die Ohren geschlagen ;-)
Vielleicht kommt ja iwann DVB Support wieder ?! :)
Was auch noch Toll wäre... mehr governors... Scheduliers eher nicht... deadline und noop sind die Besten und schon drinnen...
 
Zuletzt bearbeitet:
Taktet im Energiesparmodus auf 1.55 ghz runter :drool:
Und Geekbench gibt 1822 Punkte..:ohmy::p
Wenns bis Samstag keine Probleme gibt,dann ist es der neue Hauptkernel der James Rom.

Danke euch beiden!

Gruß
 
W!ldGunM@n schrieb:
...Vielleicht kommt ja iwann DVB Support wieder ?! :)
Was hatte es genau mit dem DVB auf sich? Es gibt ja DVBT-Sticks die mit dem A21x zusammen arbeiten? (Ich glaube aber, daß die recht teuer sind)

Geht es um BDA Treiber, damit man auch günstigere DVBT Sticks oder gar USB-DVBS-Boxen an das Tablet anschliessen kann?

Und ausserdem, ich habe gar keinen DVBT-Stick sondern nur eine USB-DVBS-Box, sprechen die im Fall von BDA das gleiche Protokol?

Unter Windows mußte ich dafür einen Treiber installieren, unter Linux (easy-Vdr) wurden die aber (glaube ich) selbständig erkannt.

Und, wäre überhaupt Interesse an sowas vorhanden? Eine DVBS-Box am Tablet macht keinen Sinn wegen des Kabels, und DVBT gibt es bei uns keinen Empfang, also wenn ich das machen würde, nur weil Andere das brauchen, und dann müsste ich schon wissen, ob da Bedarf besteht
Was auch noch Toll wäre... mehr governors... Scheduliers eher nicht... deadline und noop sind die Besten und schon drinnen...
Was ist denn ein Governor (Bitte nicht über manche seltsam anmutende Frage wundern, ich kann zwar programieren und mich ganz gut in fremden Code einlesen, aber mit Android bin ich eigentlich ein ziemlicher Newbi...)
Wenn ich weiss, um was es geht, kann ich mich schon drum kümmern...

Grüsse Uwe
 
ein gouvernor ist der "Chef" vom kernel.(wenn man(n) es so nennen darf)
Wenn man zum beispiel den Gouvernor auf Powersave schaltet,wird dafür gesorgt,dass die CPU relativ wenig genutzt wird).
Bei einem Performance Gouvernor ist die CPU auf Performance aus.
Ondemand gibt so viel,wie man braucht.
Ein gouvernor bestimmt das verhalten der CPU.
Und so weiter.
 
akool007 schrieb:
Taktet im Energiesparmodus auf 1.55 ghz runter :drool:
Und Geekbench gibt 1822 Punkte..:ohmy::p
Wenns bis Samstag keine Probleme gibt,dann ist es der neue Hauptkernel der James Rom.

Danke euch beiden!

Gruß

Vielleicht solltest Du dann irgend was im Rom mit ausliefern, womit man den Kernel kontrollieren kann (dieses Tool 'System-Tuner' oder so...) damit man sofort nach der Rom-Installation irgendwas hat...

Und vielleicht solltest Du bedenken, dass nicht jeder sich an OC randraut, also auch eine Version OHNE anbieten, denn wer sich traut, könnte OC nachinstallieren, wer sich nicht traut, wird aber vielleicht garnicht erst mit OC installieren...

BTW könntest Du die Version vom (inzwischen wirklich) 1. Post nehmen, da sind ein paar zusätzliche Kernel-Messages drin und auch der Core process Value wird abgefangen, falls der Mucken machen will...
Dann würde ich Dich und auch W!ldGunM@n um die Ausgabe der kmsg bitten, um weitere Infos zu sammeln...

Danke Uwe
 
Gern ..
Ich biete gerne einen ohne OC an,aber ich selbst bin fast auf OC angewiesen und die JR ist immerhin auf Performance ausgelegt

Dieser hier war der von gestern :
http://pastebin.com/9YCesWya
 
Also bei mir taktet im Energiesparmodus nix auf 1,55 ghz runter ... da gehts auf 1 ghz runter und bei der Option maximale Leistung gehts dann so hoch, wie ich es in no-frills cpu control einstelle...

Die kmsg werde ich heute abend mal posten, muss erst mal bissl was arbeiten :-D
 
Soweit ich erkennen kann gibt es:
- Performance
- Conservativ
- Powersaver
- OnDemand
- Interactiv
schon im Kernel.

Was wird den vermisst?

Grüsse Uwe
 
und ich setz mich an das locken des bootloaders dran..
hab schiss.Könntet ihr es euch mal ansehen?
Hab einen thread eröffnet.

edit : bitteschön
http://pastebin.com/wiqqdNnc
 
Zuletzt bearbeitet:
Das sind alles nur Standard Governors... interessant wären z.b.:

alle die mit "x" hinten enden, die sind für Multi Core optimiert... und schalten im DeepSleep einen Kern oder mehrere ab.
auch wäre smartassV2, smoothass, Brazilianwax, intellidemand u.s.w.
Auch sehr wichtig wäre Hotplug (X)
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: W!ldGunM@n
Status
Für weitere Antworten geschlossen.

Ähnliche Themen

R
Antworten
0
Aufrufe
1.611
rbe76
R
acwob
Antworten
1
Aufrufe
2.912
acwob
acwob
C
  • crisul1961
Antworten
3
Aufrufe
2.925
Sleepwalker
S
Zurück
Oben Unten