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

kErNeL_sCrIpT

Citação de: Hqxriven online 21 de Abril de 2008, 10:35
Citação de: kErNeL_sCrIpT online 21 de Abril de 2008, 09:37
Fala Hqxriven, beleza? 27.648 visualizações heim ;D Sussesso absoluto hehe, fico feliz que a noção/conceito de kernel tenha saído do mundo Geek para o mundo "usuário normal" com sua ajuda (Ao menos na nossa comu ;D) Continue firme!

Uma dúvida: Cara, você sabe se tem/vai vir algum kernel já com o airprime como módulo? É que queria testa-lo com minha net, dizem ser melhor, porém ele ainda depende do usbserial, e quando o utilizei, eu compilei ele como módulo no kernel, sem problemas, mas se já viesse por padrão seria legal, pois seria mais uma opção pro meu tipo de net conectar, e também seria mais estável, já que seria compilado por quem entende do assunto.

Curiosidade
To indo agora pro seu Blog testar o Swiftweasel, obrigado pela dica e parabéns pelo Blog que ta muito massa ;D


Abraço e até mais.

Que tipo de modificações eu preciso fazer normalmente para isso, estou procurando até agora???

Já te respondi por MP ;D

Hqxriven

Ops... Cheguei no limite da mensagem de novo vc pode postar aqui por favor!!!

Hqx
Sem distro Linux fixa - Kernel Omnislash
Meu objetivo nesse fórum é ajudar. Sou um mero humano mas desejo sempre aprender e melhorar em tudo o que faço em minha vida. Então, por favor, quando eu postar me notifique depois

kErNeL_sCrIpT

Citação de: Hqxriven online 21 de Abril de 2008, 11:09
Ops... Cheguei no limite da mensagem de novo vc pode postar aqui por favor!!!

Hqx

Vixe!!!! Te mandei umas 4 menssagens  :-X :-X :-X :-X

Pera ae, ja edito aqui.

Editado

Pronto

Citarstatic struct usb_device_id id_table [] = {
   { USB_DEVICE(0x0c88, 0x17da) }, /* Kyocera Wireless KPC650/Passport */
   { USB_DEVICE(0x413c, 0x8115) }, /* Dell Wireless HSDPA 5500 */
   { USB_DEVICE(0x0930, 0x1303) }, /* Toshiba (Novatel Wireless) HSDPA for M400 */
   { USB_DEVICE(0x106c, 0x3702) }, /* Sprint Pantech PX-500 DGE */
   { USB_DEVICE(0x19d2, 0xfffe) }, /* AIKO 76E - ZTE QUALCOMM  */
   { USB_DEVICE(0xeab, 0xc893) }, /* YISO U893  */
   { },
};

Acho que é isso, incluí o modem do cara também.

Hqxriven

Ficou assim:

static struct usb_device_id id_table [] = {
   { USB_DEVICE(0x0c88, 0x17da) }, /* Kyocera Wireless KPC650/Passport */
   { USB_DEVICE(0x413c, 0x8115) }, /* Dell Wireless HSDPA 5500 */
   { USB_DEVICE(0x0930, 0x1303) }, /* Toshiba (Novatel Wireless) HSDPA for M400 */
   { USB_DEVICE(0x106c, 0x3702) }, /* Sprint Pantech PX-500 DGE */
   { USB_DEVICE(0x19d2, 0xfffe) }, /* AIKO 76E - ZTE QUALCOMM  */
   { USB_DEVICE(0xeab, 0xc893) }, /* YISO U893  */
   { },
};
MODULE_DEVICE_TABLE(usb, id_table);

Mais alguma importante que eu precise saber???

Hqx
Sem distro Linux fixa - Kernel Omnislash
Meu objetivo nesse fórum é ajudar. Sou um mero humano mas desejo sempre aprender e melhorar em tudo o que faço em minha vida. Então, por favor, quando eu postar me notifique depois

Hqxriven

Estou só esperando vc para compilar!!!

Obs.: Se alguém quiser dar alguma sugestão sobre alguma coisa e como fazer isso diga agora ou espere o próximo release!!
Sem distro Linux fixa - Kernel Omnislash
Meu objetivo nesse fórum é ajudar. Sou um mero humano mas desejo sempre aprender e melhorar em tudo o que faço em minha vida. Então, por favor, quando eu postar me notifique depois

kErNeL_sCrIpT

Citação de: Hqxriven online 21 de Abril de 2008, 11:15
Ficou assim:

static struct usb_device_id id_table [] = {
   { USB_DEVICE(0x0c88, 0x17da) }, /* Kyocera Wireless KPC650/Passport */
   { USB_DEVICE(0x413c, 0x8115) }, /* Dell Wireless HSDPA 5500 */
   { USB_DEVICE(0x0930, 0x1303) }, /* Toshiba (Novatel Wireless) HSDPA for M400 */
   { USB_DEVICE(0x106c, 0x3702) }, /* Sprint Pantech PX-500 DGE */
   { USB_DEVICE(0x19d2, 0xfffe) }, /* AIKO 76E - ZTE QUALCOMM  */
   { USB_DEVICE(0xeab, 0xc893) }, /* YISO U893  */
   { },
};
MODULE_DEVICE_TABLE(usb, id_table);

Mais alguma importante que eu precise saber???

Hqx

Sim, tem o modem Huawei da TIM™ e Claro™, entro outros, espera que vou pesquisar agora e já edito aqui.

Editado
Hmmm, por enquanto é só isso mesmo.
Os Modems da TIM™ e Claro™ são mais fáceis de configurar, não achei nehuma dica falando que precisava carregar módulos.

Hqxriven

#726
Então eu vou compilar (compilação 72 iiii perdi a conta, acho que esqueci de anotar, faz de conta que é a 70)

Daqui há 5 minutos estou compilando.

EDIT 1
---------

Caramba já coloquei 84 patches 5 vezes MEU DEUS!!! Estudar Direito Constitucional é menos cansativo que isso... (experiência própria) estou acordado desde as 22:00 de ontem. UFA!!!

EDIT 2
--------

Agora estou compilando... são 86 patches no total mais as modificações sugeridas pelo kErNeL_sCrIpT e pelo ives_13mg.

Obrigado pelo apoio e pelas dicas!!

Coloquei o unionfs também!!

Em breve o upload!!

EDIT 3
--------

Testei o sm56 e funcionou e o envy com nvidia também.

Fazendo o upload em breve disponibilizo o link!!!

Hqx
Sem distro Linux fixa - Kernel Omnislash
Meu objetivo nesse fórum é ajudar. Sou um mero humano mas desejo sempre aprender e melhorar em tudo o que faço em minha vida. Então, por favor, quando eu postar me notifique depois

kErNeL_sCrIpT

Citação de: Hqxriven online 21 de Abril de 2008, 11:32
EDIT 2
--------

Agora estou compilando... são 86 patches no total mais as modificações sugeridas pelo kErNeL_sCrIpT e pelo ives_13mg.

Obrigado pelo apoio e pelas dicas!!

Coloquei o unionfs também!!

Em breve o upload!!

Que isso cara, eu é que agradeço pelo esforço e atenção :)
E parabéns pela dedicação :)

Hqxriven

#728
Enfim upload pronto!!! Configurações refeitas e agora com sistema de versões diferente.

Kernel 2.6.24.5 - Significa que essa é a sua base.

omnislash 4 -Significa que ele está na geração 4, toda mudança radical na estrutura (inclusão de diversos patches que alteram o comportamento do kernel) alterará esse número.

-2 - Significa o número de compilações efetuadas porém com poucas modificações.

http://hqxriven.wordpress.com/2008/04/21/kernel-26245-omnislash4-2-lancado-para-o-kuxbuntu-710-e-804/

OFF: Agora espero que o modem funcione kErNeL_sCrIpT e que o wireless Intel também!!!
Sem distro Linux fixa - Kernel Omnislash
Meu objetivo nesse fórum é ajudar. Sou um mero humano mas desejo sempre aprender e melhorar em tudo o que faço em minha vida. Então, por favor, quando eu postar me notifique depois

kErNeL_sCrIpT

Citação de: Hqxriven online 21 de Abril de 2008, 16:52
Enfim upload pronto!!! Configurações refeitas e agora com sistema de versões diferente.

Kernel 2.6.24.5 - Significa que essa é a sua base.

omnislash 4 -Significa que ele está na geração 4, toda mudança radical na estrutura (inclusão de diversos patches que alteram o comportamento do kernel) alterará esse número.

-2 - Significa o número de compilações efetuadas porém com poucas modificações.

http://hqxriven.wordpress.com/2008/04/21/kernel-26245-omnislash4-2-lancado-para-o-kuxbuntu-710-e-804/

OFF: Agora espero que o modem funcione kErNeL_sCrIpT e que o wireless Intel também!!!

Eu vou testar agora mesmo ;D

ives_13mg

Citação de: Hqxriven online 21 de Abril de 2008, 16:52
Enfim upload pronto!!! Configurações refeitas e agora com sistema de versões diferente.

Kernel 2.6.24.5 - Significa que essa é a sua base.

omnislash 4 -Significa que ele está na geração 4, toda mudança radical na estrutura (inclusão de diversos patches que alteram o comportamento do kernel) alterará esse número.

-2 - Significa o número de compilações efetuadas porém com poucas modificações.

http://hqxriven.wordpress.com/2008/04/21/kernel-26245-omnislash4-2-lancado-para-o-kuxbuntu-710-e-804/

OFF: Agora espero que o modem funcione kErNeL_sCrIpT e que o wireless Intel também!!!

Aeeeeeeeee fera... Vou baixar e testar aqui... vamos ver se a rede sem fio funciona... Depois vou lhe sugerir mais uma modificacao... Colocar suporte a undervolting nesse kernel, com o patch linux-phc... Vou mandar o patch pra vc depois. Já testei em um kernel da série 2.6.24, então espero que funcione nesse seu.

Abracao....
Brigadao cara...

Hqxriven

#731
Já que me perguntaram vou responder aqui:

Vc reclama muito da série 2.6.24 pq o último omnislash é baseado nela e como pode um kernel omnislash ser parte 2.6.24 e parte 2.6.25???

É simples, estou atento a qualquer mudança que aconteça na árvore principal e nos repositórios de diversas distribuições.

É justamente por isso que o omnislash tem 86 patches, são os patches que diversas distribuições estão usando para acalmar a fera (o kernel 2.6.24) e dar mais performance ao mesmo.

O omnislash só é baseado na série 24 pq a 25 ainda não está compatível com muita coisa e estou usando a série 25 para corrigir a 24.

Vejamos alguns problemas da série 24:

1 - Primeiro problema (para mim de gravidade alta... ops beeem alta) - Mtrr não funciona direito!

O que é mtrr??

http://en.wikipedia.org/wiki/Memory_Type_Range_Registers

Agora imagine o seu processador não trabalhando com a cache direito??? Preocupante... Dependendo do hardware sim, vc sente uma queda brutal de performance.

Olhe o que o Fedora fez

http://www.redhat.com/archives/fedora-package-announce/2008-April/msg00077.html

Backport lots of MTRR fixes from 2.6.25

Aí eu peguei e coloquei no omnislash e eles são tanto para 32 como 64 bits.

Consertado no omnislash 2.6.24.5

2 - Problema Dois - Sheduler não "aguenta" muitos eventos e faz com isso um por um (eita grave sô!!).

sch_htb: fix "too many events" situation

Consertado no omnislash 2.6.24.5

3 - Problema Três - Leak de memória no Vfs (gravidade média ao quadrado) - acredite vc está usando isso agora.

Lembram-se desse comando que passei??

vm.vfs_cache_pressure = 200

Pois esse comando por padrão tem o valor 100 e controla a cache e o uso da memória e da swap e TODO mundo usa independente de colocar ele ou não.

vfs: fix data leak in nobh_write_end()
   
    upstream commit: 5b41e74ad1b0bf7bc51765ae74e5dc564afc3e48
   
    Current nobh_write_end() implementation ignore partial writes(copied < len)
    case if page was fully mapped and simply mark page as Uptodate, which is
    totally wrong because area [pos+copied, pos+len) wasn't updated explicitly in
    previous write_begin call.  It simply contains garbage from pagecache and
    result in data leakage.

Consertado no omnislash 2.6.24.5

4 - Problema Quatro - Falha na alocação de dados por cpu (gravidade alta)

alloc_percpu() fails to allocate percpu data
   
    upstream commit: be852795e1c8d3829ddf3cb1ce806113611fa555
   
    Some oprofile results obtained while using tbench on a 2x2 cpu machine were
    very surprising.
   
    For example, loopback_xmit() function was using high number of cpu cycles
    to perform the statistic updates, supposed to be real cheap since they use
    percpu data
   
            pcpu_lstats = netdev_priv(dev);
            lb_stats = per_cpu_ptr(pcpu_lstats, smp_processor_id());
            lb_stats->packets++;  /* HERE : serious contention */
            lb_stats->bytes += skb->len;
   
    struct pcpu_lstats is a small structure containing two longs.  It appears
    that on my 32bits platform, alloc_percpu(8) allocates a single cache line,
    instead of giving to each cpu a separate cache line.
   
    Using the following patch gave me impressive boost in various benchmarks
    ( 6 % in tbench)

Basicamente conforme me foi explicado esse patch deixa enfim o kernel 2.6.24 trabalhar direito dando uma melhor performance aos cpus divindo melhor as tarefas entre eles e fazendo com que os mesmos trabalhem melhor com a cache. Olha só o que diz no log... que o usuário conseguiu até 6% de performance no tbench.

Consertado no omnislash 2.6.24.5

E tem muito mais bugs, por enquanto vou ficar por aqui...

Desde o início a série omnislash foi feita com o objetivo de dar mais performance e correção de bugs como esses ajudam bastante, além de dar mais segurança ao usuário!!

Depois eu falo dos outros bugs...

Hqx
Sem distro Linux fixa - Kernel Omnislash
Meu objetivo nesse fórum é ajudar. Sou um mero humano mas desejo sempre aprender e melhorar em tudo o que faço em minha vida. Então, por favor, quando eu postar me notifique depois

kErNeL_sCrIpT

#732
Fala Hqxriven, já to usando aqui já faz alguns minutos e tá tudo beleza ;D
Exeto a aceleração que foi embora BUAHAHAHA
A net conectô de prima!!!! Mas como já tinha usado o usbserial antes, vamos ver no que vai dar quando eu instalar o seu novo kernel com o airprime no Hardy.

Vo testar o Envy pra ver no que dá.

Cara, não entendi muito bem o seu post acima, eu tenho que me preucupar com algo???

ives_13mg

#733
Noossa, vc é fera mesmo ein... virei fã deste tópico seu aqui, rsrs...

Olha, tenho mais uma sugestão... Existe um projeto, não sei se conhece, Linux-PHC, o qual tem como objetivo fornecer um meio de alterarmos a voltagem do processador. É uma mão na roda pra quem quer economizar bateria do laptop, ainda mais pq não tem como alterar isso pela bios, só por software mesmo. Segue o link:

http://phcpatches.googlecode.com/svn/trunk/acpi-cpufreq/patches/linux-phc-kernel-vanilla-2.6.24-rc1.patch

É só baixar e aplicar ok? Eu testei ele no Kubuntu 8.04, com kernel padrão. E foi blz.. Tem como colocar esse patch?

Abração...

Já baixei o seu kernel... vou testar agora, hehehehe....

EDIT 1:

Wireless funcionando blz!!! Valeu Hqxriven!!! O Envy aqui acusou um erro na hora de instalar o driver da nvidia... vou ver aqui o que ta ocorrendo...

kErNeL_sCrIpT

Hqxriven... travou tudo aqui :'(
Desisntalei e voltei ao velho 2.6.20-16-386

Mas espero que o airprime sirva pra outras pessoas :)
E muito obrigado pelo esforço e atenção :)