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

vampire_thunder

#3300
O kernel 2.6.38 já está no git do Natty. Vou compilar agora (no Lucid) sem patch nenhum, para ver como está.


Edit: testei aqui e
- Aparentemente a saída do burg e o aparecimento do plymouth foi mais rápida que o 2.6.37 que eu estava usando;
- O carregamento do sistema aparentemente foi mais rápido também;
- O login ficou mais lento;
- O VirtualBox não funcionou;
- A minha placa ATI composta não funcionou. Ou melhor, o HDMI não habilitou.

Por causa desse último, não dá para eu usar essa versão por enquanto.

Andreson Goveia

Citação de: vampire_thunder online 28 de Janeiro de 2011, 11:38
O kernel 2.6.38 já está no git do Natty. Vou compilar agora (no Lucid) sem patch nenhum, para ver como está.


Edit: testei aqui e
- Aparentemente a saída do burg e o aparecimento do plymouth foi mais rápida que o 2.6.37 que eu estava usando;
- O carregamento do sistema aparentemente foi mais rápido também;
- O login ficou mais lento;
- O VirtualBox não funcionou;
- A minha placa ATI composta não funcionou. Ou melhor, o HDMI não habilitou.

Por causa desse último, não dá para eu usar essa versão por enquanto.
O virtual box tem que instalar novamente. ;D

vampire_thunder

Citação de: Andry online 28 de Janeiro de 2011, 21:20
Citação de: vampire_thunder online 28 de Janeiro de 2011, 11:38
O kernel 2.6.38 já está no git do Natty. Vou compilar agora (no Lucid) sem patch nenhum, para ver como está.


Edit: testei aqui e
- Aparentemente a saída do burg e o aparecimento do plymouth foi mais rápida que o 2.6.37 que eu estava usando;
- O carregamento do sistema aparentemente foi mais rápido também;
- O login ficou mais lento;
- O VirtualBox não funcionou;
- A minha placa ATI composta não funcionou. Ou melhor, o HDMI não habilitou.

Por causa desse último, não dá para eu usar essa versão por enquanto.
O virtual box tem que instalar novamente. ;D

Não testei. Só fiz o que costumo fazer sempre: sudo /etc/init.d/vboxdrv setup.

Mas foi dos males o menor. O pior foi não funcionar a saída HDMI, uma vez que funciona desde o 2.6.35 (com limitações) e perfeitamente no 2.6.37. Mas sei que não posso exigir muito, pois é uma versão RC, e a primeira compilação para o Ubuntu.


Gunss


MSXManiac

Citação de: Gunss online 31 de Janeiro de 2011, 13:17
http://www.phoronix.com/scan.php?page=article&item=linux_compiler_deathmatch&num=1

Teste de vários compiladores. Acho o teste meio, sei la, sem graça, mas não custa ler.

Concordo!
Vc ve um monte de testes e acaba mais confuso ainda!
Se for por um deles o 4.5.1 é a melhor opção!
Se for por outro é o 4.2.1!
ASUSTek P5QPL-AM + Intel(R) Core(TM)2 Quad CPU Q8400 @ 2.66GHz (Yorkfield) + 4 Gb RAM 800 MHz

Gunss

Citação de: MSXManiac online 31 de Janeiro de 2011, 21:57
Citação de: Gunss online 31 de Janeiro de 2011, 13:17
http://www.phoronix.com/scan.php?page=article&item=linux_compiler_deathmatch&num=1

Teste de vários compiladores. Acho o teste meio, sei la, sem graça, mas não custa ler.

Concordo!
Vc ve um monte de testes e acaba mais confuso ainda!
Se for por um deles o 4.5.1 é a melhor opção!
Se for por outro é o 4.2.1!

Na verdade o melhor mesmo é usar o que vem na distro.

Se quiser brincar mais, pode se aventurar no ICC ou Open64

carlaosouza


4d4c47

#3308
Citação de: galactus online 16 de Janeiro de 2011, 19:51
Agora eu senti firmeza do HQx! :)

Quanto ao March eu acredito que devemos ser mais específicos, mostrar exatamente onde e quais os arquivos alterados!  Aqui não deu nenhum erro de compilação por causa disso!

Vou começar por mim!

Mudo o Makefile dentro da pasta linux (link simbólico do 2.6.34)!

Apenas neste trecho:

Citar# SHELL used by kbuild
CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
     else if [ -x /bin/bash ]; then echo /bin/bash; \
     else echo sh; fi ; fi)

HOSTCC       = gcc
HOSTCXX      = g++
HOSTCFLAGS   = -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -march=native -fomit-frame-pointer
HOSTCXXFLAGS = -O2

Todas as outras alterações que eu fiz estão dentro da pasta linux/arch/x86 (lembrem do link simbólico do 2.6.34)!

Na pasta x86 eu altero os arquivos: MakeFile e Makefile_32.cpu!

No arquivo Makefile eu mudo aqui:

Citar# FIXME - should be integrated in Makefile.cpu (Makefile_32.cpu)
       cflags-$(CONFIG_MK8) += $(call cc-option,-march=native)
       cflags-$(CONFIG_MPSC) += $(call cc-option,-march=native)

       cflags-$(CONFIG_MCORE2) += \
               $(call cc-option,-march=native,$(call cc-option,-march=native))
   cflags-$(CONFIG_MATOM) += $(call cc-option,-march=native) \
      $(call cc-option,-march=native,$(call cc-option,-march=native))
       cflags-$(CONFIG_GENERIC_CPU) += $(call cc-option,-march=native)
       KBUILD_CFLAGS += $(cflags-y)


No Makefile_32.cpu aqui:


Citar#-mtune exists since gcc 3.4
HAS_MTUNE   := $(call cc-option-yn, -march=native)
ifeq ($(HAS_MTUNE),y)
tune      = $(call cc-option,-march=$(1),$(2))
else
tune      = $(call cc-option,-march=$(1),$(2))
endif

align := $(cc-option-align)
cflags-$(CONFIG_M386)      += -march=native
cflags-$(CONFIG_M486)      += -march=native
cflags-$(CONFIG_M586)      += -march=native
cflags-$(CONFIG_M586TSC)   += -march=native
cflags-$(CONFIG_M586MMX)   += -march=native
cflags-$(CONFIG_M686)      += -march=native
cflags-$(CONFIG_MPENTIUMII)   += -march=native $(call tune,pentium2)
cflags-$(CONFIG_MPENTIUMIII)   += -march=native $(call tune,pentium3)
cflags-$(CONFIG_MPENTIUMM)   += -march=native $(call tune,pentium3)
cflags-$(CONFIG_MPENTIUM4)   += -march=native $(call tune,pentium4)
cflags-$(CONFIG_MK6)      += -march=native
# Please note, that patches that add -march=athlon-xp and friends are pointless.
# They make zero difference whatsosever to performance at this time.
cflags-$(CONFIG_MK7)      += -march=native
cflags-$(CONFIG_MK8)      += $(call cc-option,-march=native,-march=native)
cflags-$(CONFIG_MCRUSOE)   += -march=native $(align)-functions=0 $(align)-jumps=0 $(align)-loops=0
cflags-$(CONFIG_MEFFICEON)   += -march=native $(call tune,pentium3) $(align)-functions=0 $(align)-jumps=0 $(align)-loops=0
cflags-$(CONFIG_MWINCHIPC6)   += $(call cc-option,-march=native,-march=native)
cflags-$(CONFIG_MWINCHIP3D)   += $(call cc-option,-march=native,-march=native)
cflags-$(CONFIG_MCYRIXIII)   += $(call cc-option,-march=native,-march=native) $(align)-functions=0 $(align)-jumps=0 $(align)-loops=0
cflags-$(CONFIG_MVIAC3_2)   += $(call cc-option,-march=native,-march=native)
cflags-$(CONFIG_MVIAC7)      += -march=native
cflags-$(CONFIG_MCORE2)      += -march=native $(call tune,core2)
cflags-$(CONFIG_MATOM)      += $(call cc-option,-march=native,$(call cc-option,-march=native,-march=native)) \
   $(call cc-option,-march=native,$(call cc-option,-march=native))

# AMD Elan support
cflags-$(CONFIG_X86_ELAN)   += -march=native

# Geode GX1 support
cflags-$(CONFIG_MGEODEGX1)   += -march=native
cflags-$(CONFIG_MGEODE_LX)   += $(call cc-option,-march=native,-march=native)
# add at the end to overwrite eventual tuning options from earlier
# cpu entries
cflags-$(CONFIG_X86_GENERIC)    += $(call tune,generic,$(call tune,i686))

# Work around the pentium-mmx code generator madness of gcc4.4.x which
# does stack alignment by generating horrible code _before_ the mcount
# prologue (push %ebp, mov %esp, %ebp) which breaks the function graph
# tracer assumptions. For i686, generic, core2 this is set by the
# compiler anyway
cflags-$(CONFIG_FUNCTION_GRAPH_TRACER) += $(call cc-option,-maccumulate-outgoing-args)

# Bug fix for binutils: this option is required in order to keep
# binutils from generating NOPL instructions against our will.
ifneq ($(CONFIG_X86_P6_NOP),y)
cflags-y         += $(call cc-option,-Wa$(comma)-march=native,)
endif

Vejam que logo acima, na parte em negrito, tem um call tune Core2! Será que é por isso que não tira tudo o que for Core2?
São esses os arquivos e locais que achei para mudar!  Tem algum outro lugar?


pra quem ainda não desistiu e continua na luta das cflags, aqui vai um comando que mostra o número de cada linha com as palavra (com march, mtune ou mcpu) do diretorio incluindo os subdiretorios:

Citargrep -srin mtune /usr/src/linux-2.6.37/* && grep -srin march /usr/src/linux-2.6.37/* && grep -srin mcpu /usr/src/linux-2.6.37/*


se preocupe mais com os Makefile e a arquitetura x86, falou.


brottor

Eu teria alguma dificuldade de habilitar o Xen com esse kernel?
Linux Professional Institute Certificated Level 2.
LPI000220827

Gunss

#3310
Falando em cflags. Aqui usar core2 e mudar tudo para "-march=native" fez o consumo de Ram aumentar em quase 100MB, e o sistema não é mais tão "pei-buf" como antes. Talvez seja pela baixa quantidade de ram que tenho, pois, qualquer coisa que faça ele já consome 60% da ram. Agora isso não significa que o sistema trava, nenhuma fez ele ameaçou travar, só fica meio lento quando faço muita coisa.


@4d4c47 bastante útil esse comando, me perguntava se não havia nada parecido. Mas não tem como mandar o saida do comando para um arquivo que possa ser lido pelo gedit?

4d4c47

Citação de: Gunss online 03 de Fevereiro de 2011, 10:18

@4d4c47 bastante útil esse comando, me perguntava se não havia nada parecido. Mas não tem como mandar o saida do comando para um arquivo que possa ser lido pelo gedit?

com certeza, é possivel sim, mas não tenho a minima ideia de como se faz isso, alguém que saiba programar em bash com certeza sabe fazer facil facil, alguém aé está disposto a nos ensinar ?



cesargcomp

Já experimentaram redirecionar o comando desta forma?

Citargrep -srin mtune /usr/src/linux-2.6.37/* && grep -srin march /usr/src/linux-2.6.37/* && grep -srin mcpu /usr/src/linux-2.6.37/* > ~/registro.log

O que eu adicionei salvaria um arquivo chamado "registro.log" na pasta /home/usuario/. Não testei e nem sei se funciona. Espero que ajude.

Eu testei com um comando simples: sudo apt-get update > ~/registro.log. Não foi mostrado na tela o conteúdo das atualizações mas salvou todo o conteúdo no arquivo.
Use Ubuntu. Segurança, facilidade e gratuidade em suas mãos.

Gunss

Citação de: cesargcomp online 03 de Fevereiro de 2011, 13:55
Já experimentaram redirecionar o comando desta forma?

Citargrep -srin mtune /usr/src/linux-2.6.37/* && grep -srin march /usr/src/linux-2.6.37/* && grep -srin mcpu /usr/src/linux-2.6.37/* > ~/registro.log

O que eu adicionei salvaria um arquivo chamado "registro.log" na pasta /home/usuario/. Não testei e nem sei se funciona. Espero que ajude.

Eu testei com um comando simples: sudo apt-get update > ~/registro.log. Não foi mostrado na tela o conteúdo das atualizações mas salvou todo o conteúdo no arquivo.

Hááá!! valeu, vou ler o log agora. Baixei alguns patchs e vou compilar o 2.6.37 + BFS + BFQ + Classic RCU e to tentando colocar o patch para deixar o X com prio -20

4d4c47

Citação de: cesargcomp online 03 de Fevereiro de 2011, 13:55
Já experimentaram redirecionar o comando desta forma?

Citargrep -srin mtune /usr/src/linux-2.6.37/* && grep -srin march /usr/src/linux-2.6.37/* && grep -srin mcpu /usr/src/linux-2.6.37/* > ~/registro.log

O que eu adicionei salvaria um arquivo chamado "registro.log" na pasta /home/usuario/. Não testei e nem sei se funciona. Espero que ajude.

Eu testei com um comando simples: sudo apt-get update > ~/registro.log. Não foi mostrado na tela o conteúdo das atualizações mas salvou todo o conteúdo no arquivo.

desse jeito aqui funcionou bem melhor:

Citargrep -srin mtune /usr/src/linux-2.6.37/* > mtune.log ; grep -srin march /usr/src/linux-2.6.37/* > march.log ; grep -srin mcpu /usr/src/linux-2.6.37/* > mcpu.log


agora, podia alguém que entenda de bash fazer um script que modifique tudo (todos os nomes com march, mtunes e mcpu) de uma só vez, alguém se abilita ? acho que tem que ser usado o awk, não é isso ?