Kernel Omnislash (Unofficial) - Aprendendo a voar sem segredos!!!

Iniciado por Hqxriven, 24 de Dezembro de 2007, 13:26

tópico anterior - próximo tópico

galactus

Citação de: buli online 13 de Janeiro de 2011, 23:27
Não se vai ajudar...

No buscador do google coloquei "mtune mflags linux kernel" e achei essa página:

http://www.linuxquestions.org/questions/debian-26/the-way-to-compile-kernel-with-mtune%3Dnative-or-march%3Dnative-788865/

A página não tem muitas informações, mas cita algumas variáveis K* que nunca tinha visto, por exemplo KCFLAGS e outras.

Aí olhei no Makefile do kernel, e entre as linhas 582 e 610 encontrei o seguinte trecho:


# warn about C99 declaration after statement
KBUILD_CFLAGS += $(call cc-option,-Wdeclaration-after-statement,)

# disable pointer signed / unsigned warnings in gcc 4.0
KBUILD_CFLAGS += $(call cc-option,-Wno-pointer-sign,)

# disable invalid "can't wrap" optimizations for signed / pointers
KBUILD_CFLAGS += $(call cc-option,-fno-strict-overflow)

# conserve stack if available
KBUILD_CFLAGS   += $(call cc-option,-fconserve-stack)

# Add user supplied CPPFLAGS, AFLAGS and CFLAGS as the last assignments
# But warn user when we do so
warn-assign = \
$(warning "WARNING: Appending $$K$(1) ($(K$(1))) from $(origin K$(1)) to kernel $$$(1)")

ifneq ($(KCPPFLAGS),)
       $(call warn-assign,CPPFLAGS)
       KBUILD_CPPFLAGS += $(KCPPFLAGS)
endif
ifneq ($(KAFLAGS),)
       $(call warn-assign,AFLAGS)
       KBUILD_AFLAGS += $(KAFLAGS)
endif
ifneq ($(KCFLAGS),)
       $(call warn-assign,CFLAGS)
       KBUILD_CFLAGS += $(KCFLAGS)
endif


Uma linha comentada diz: Add user supplied CPPFLAGS, AFLAGS and CFLAGS. O código que segue faz uma checagem nas variáveis KBUILD_*. Tal vez sejam essas variáves, mas não tenho nenhuma certeza. Vou testar e se tiver novidades aviso.



Hoje eu li o MakeFile do kernel quase todo e tinha visto esse comentário!

Espero que você tenha sucesso!
BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

galactus

Citação de: vampire_thunder online 13 de Janeiro de 2011, 23:31
Surpresa, galera:
http://ubuntuforum-br.org/index.php/topic,76787.msg432669.html#msg432669

Já compilei o kernel do Maverick (2.6.35-25) usando ele. Mas sinceramente não senti diferença nenhuma.  :-\

Parabéns Vampire!

Você simplesmente recompilou o kernel do Maverick? O kernel do Ubuntu é ruim de doer!  Já viu que eles usam opções que deveriam fazer esse kernel ser bem mais esperto e no entanto ele é lerdo?
Que opções principais do menuconfig você usou?

BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

Gunss

Tive medo de alterar a versão do GCC no 10.04. Ele pediu para atualizar MUITA coisa. Medo de dar pau. Prefiro esperar o 11.04

galactus

Gente, mais algumas impressões sobre as opções de compilação!

Graças a dica do GuilhermeSalazar sobre o TurboBoost, agora posso ver ao vivo e em cores o uso do processador em tempo real, sua freqüência a cada segundo! 

Então, ao usar Processador P4 na compilação junto com o Trio 1000MHz, Low Latency e Performance, a freqüência do processador praticamente não abaixa! Sempre fica próxima do máximo, no meu caso deu uma diferença de 400MHz para menos (em média) do máximo permitido com o Overclock!

Quando eu uso Core2 no processador junto com o mesmo Trio 1000MHz, Low Latency e Performance, a freqüência varia bastante para menos!  Aí chega a diminuir mais da metade do máximo permitido, diminui 1600MHz - 1800MHz!

Também estive lendo documentação do Kernel.org e lá na parte dos processadores, ele fala que ao usar Pentium Pro (que seria o P4) ele usa opções de otimização com pipelines mais curtos, por isso também a gente sentir o sistema mais rápido com ele, pois na maior parte do tempo, são as instruções SSE mais antigas que estão em uso!

Quando eu uso o Core2, noto que a parte de multimídia ganha desempenho em detrimento da velocidade de abrir programas!  Outra observação, ao usar P4 ao abrir programas pela primeira vez, ele é mais rápido do que ao abrir com Core2, mas na segunda vez que chamo o programa, o Core2 é mais rápido e o P4 não muda muita coisa ou praticamente não vejo diferença!

Finalmente acertei a lista de E-mail do GCC!  Se ninguém responder lá, ninguém mais responde! :)
BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

vampire_thunder

Citação de: galactus online 14 de Janeiro de 2011, 00:06

Parabéns Vampire!

Você simplesmente recompilou o kernel do Maverick? O kernel do Ubuntu é ruim de doer!  Já viu que eles usam opções que deveriam fazer esse kernel ser bem mais esperto e no entanto ele é lerdo?
Que opções principais do menuconfig você usou?



Eu sempre compilo o kernel do Ubuntu mesmo, seguindo versões desse tuto:
http://blog.avirtualhome.com/2010/11/22/how-to-compile-a-ubuntu-10-10-maverick-kernel-with-sched-automated-per-tty-task-groups-kernel-patch/

No caso, esse já está atualizado com aquele patch de otimização.

Além desse eu adiciono o BFQ (o BFS dá pau) e o LZMA. Habilito eles e mudo para 300hz. O resto fica igual, até porque não sei mexer muito lá. Mas quando eu disse que não havia sentido diferença, me referia à compilação anterior, usando o antigo gcc.

Citação de: Gunss
Tive medo de alterar a versão do GCC no 10.04. Ele pediu para atualizar MUITA coisa. Medo de dar pau. Prefiro esperar o 11.04

Pois é, eu mencionei isso no tópico do gcc. Só usei o repositório para instalar os compiladores, mesmo. Depois desabilitei.

brottor

Citação de: vampire_thunder online 13 de Janeiro de 2011, 23:31
Surpresa, galera:
http://ubuntuforum-br.org/index.php/topic,76787.msg432669.html#msg432669

Já compilei o kernel do Maverick (2.6.35-25) usando ele. Mas sinceramente não senti diferença nenhuma.  :-\

Vampire, acho q a boa é tu compilar o 2.6.36. Pelo q li ele tem um gerenciamento melhor da memória e talz. Acho q nele vc sente mais diferença.(apesar de não ter compilado ele ainda...
Linux Professional Institute Certificated Level 2.
LPI000220827

brottor

Citação de: galactus online 14 de Janeiro de 2011, 09:38
Gente, mais algumas impressões sobre as opções de compilação!

Graças a dica do GuilhermeSalazar sobre o TurboBoost, agora posso ver ao vivo e em cores o uso do processador em tempo real, sua freqüência a cada segundo! 

Então, ao usar Processador P4 na compilação junto com o Trio 1000MHz, Low Latency e Performance, a freqüência do processador praticamente não abaixa! Sempre fica próxima do máximo, no meu caso deu uma diferença de 400MHz para menos (em média) do máximo permitido com o Overclock!

Quando eu uso Core2 no processador junto com o mesmo Trio 1000MHz, Low Latency e Performance, a freqüência varia bastante para menos!  Aí chega a diminuir mais da metade do máximo permitido, diminui 1600MHz - 1800MHz!

Também estive lendo documentação do Kernel.org e lá na parte dos processadores, ele fala que ao usar Pentium Pro (que seria o P4) ele usa opções de otimização com pipelines mais curtos, por isso também a gente sentir o sistema mais rápido com ele, pois na maior parte do tempo, são as instruções SSE mais antigas que estão em uso!

Quando eu uso o Core2, noto que a parte de multimídia ganha desempenho em detrimento da velocidade de abrir programas!  Outra observação, ao usar P4 ao abrir programas pela primeira vez, ele é mais rápido do que ao abrir com Core2, mas na segunda vez que chamo o programa, o Core2 é mais rápido e o P4 não muda muita coisa ou praticamente não vejo diferença!

Também percebi isso, q compilação com o core2 a primeira vez demora um pouco pra abrir, depois q abriu abre bem mais rápido na segunda vez.

Acho q essa diferença ai no turbo boost, é pq na época do p4 os processadores não mudavam tanto de clock. Eu tenho um atlhon 2000 lá em casa e ele fica no clock full sempre. Acho q apartir dos core 2 foi implementado(comecei a observar apartir deles) essas instruções onde o clock fica mudando de acordo com a necessidade, acho q são ligadas ao ACPI.
Linux Professional Institute Certificated Level 2.
LPI000220827

Gunss

Citação de: vampire_thunder online 14 de Janeiro de 2011, 09:42
Citação de: Gunss
Tive medo de alterar a versão do GCC no 10.04. Ele pediu para atualizar MUITA coisa. Medo de dar pau. Prefiro esperar o 11.04

Pois é, eu mencionei isso no tópico do gcc. Só usei o repositório para instalar os compiladores, mesmo. Depois desabilitei.

Exatamente, só que aqui nem mesmo os compiladores todos eu posso atualizar. Ai fico com receio.

Metalbobolic

Antes, vou fazer um backup completo do ubuntu, somente depois..tentar fazer isso

Stivekx

Acho que só precisa deixar outro kernel na lista, caso de kernel panic ou algum outro problema que não ligue, não?
A não ser que tu use outro kernel ou outro patch que possa danificar o seu hardware (ouvi falar disso na wiki do gentoo sobre um tipo de kernel que pode queimar periféricos)

galactus

Citação de: Stivekx online 14 de Janeiro de 2011, 14:27
Acho que só precisa deixar outro kernel na lista, caso de kernel panic ou algum outro problema que não ligue, não?
A não ser que tu use outro kernel ou outro patch que possa danificar o seu hardware (ouvi falar disso na wiki do gentoo sobre um tipo de kernel que pode queimar periféricos)

É bom fazer o backup como os colegas comentaram, as vezes o novo kernel dá um pau que você não consegue recuperar o sistema!
BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

Stivekx

#3176
Ahh eu sou otimista, sempre penso que vai dar certo.


To fazendo minha primeira compilação. ;x
To usando kernelcheck porque ele tem umas opções lá que eu não saberia fazer manualmente..

Usando 2.6.37
BFS:
2.6.37-sched-bfs-363.patch
bfs363-group_uids.patch
sched-add-above-background-load-function.patch
mm-zero_swappiness.patch
mm-decrease_default_dirty_ratio.patch #Ao invés de 5 usei 10, procurei no google um fórum lá recomendaram 10... hm
ck1-version.patch

patch de 200 linhas

BFQ:
0002-bfq_iosched-block-add-cgroups-kconfig-and-build-bits-for-BFQ-v1-2.6.37.patch
0001-bfq_iosched-block-prepare_IO_context_code-v1-2.6.37.patch
0003-bfq_iosched-block-introduce_BFQ-v1-2.6.37.patch

1000mhz, low latency, performance (ninguém aqui usa esse trio ;p)
Reitrei uns drivers, módulos, algumas opções por exemplo no kconfig pra Intel por exemplo (eu uso AMD). Desativei os suportes a outros filesystem (só uso ext3 e ext4 (nem sei se isso muda algo na performance)).
Tá a 30min compilando, quando acabar vejo qq dá o/


Metalbobolic

Citação de: Stivekx online 14 de Janeiro de 2011, 18:01
Ahh eu sou otimista, sempre penso que vai dar certo.


To fazendo minha primeira compilação. ;x
To usando kernelcheck porque ele tem umas opções lá que eu não saberia fazer manualmente..

Usando 2.6.37
BFS:
2.6.37-sched-bfs-363.patch
bfs363-group_uids.patch
sched-add-above-background-load-function.patch
mm-zero_swappiness.patch
mm-decrease_default_dirty_ratio.patch #Ao invés de 5 usei 10, procurei no google um fórum lá recomendaram 10... hm
ck1-version.patch

patch de 200 linhas

BFQ:
0002-bfq_iosched-block-add-cgroups-kconfig-and-build-bits-for-BFQ-v1-2.6.37.patch
0001-bfq_iosched-block-prepare_IO_context_code-v1-2.6.37.patch
0003-bfq_iosched-block-introduce_BFQ-v1-2.6.37.patch

1000mhz, low latency, performance (ninguém aqui usa esse trio ;p)
Reitrei uns drivers, módulos, algumas opções por exemplo no kconfig pra Intel por exemplo (eu uso AMD). Desativei os suportes a outros filesystem (só uso ext3 e ext4 (nem sei se isso muda algo na performance)).
Tá a 30min compilando, quando acabar vejo qq dá o/



Tomara que dê certo, por que esse kernel, sempre da erros durante a compilação...


Stivekx

Aeeeeeeeeee deu kernel panic o///

Deu uns 35min de compilação num turion x2 p520 2.3gHz o/
Rápido até, pelos outros posts...

O erro dizia que não foi possivel montar o bloco desconhecido (0,0), to achando que desabilitei o suporte ao meu HD e isso fez com que ele não fosse montado x//

Gunss

Citação de: Stivekx online 14 de Janeiro de 2011, 18:31
Aeeeeeeeeee deu kernel panic o///

Deu uns 35min de compilação num turion x2 p520 2.3gHz o/
Rápido até, pelos outros posts...

O erro dizia que não foi possivel montar o bloco desconhecido (0,0), to achando que desabilitei o suporte ao meu HD e isso fez com que ele não fosse montado x//

vai nesse site, ele fala quais drivers deve habilitar

http://kmuto.jp/debian/hcl/