¿Que es el APIC?

¿Aparte de un paté? (Vaaaa chiste fácil [qmparto] )

No en serio, es que aprovechando el cambio al kernel 2.4.21 he activado el soporte de APIC en el apartado del procesador, y ahora en el arranque sale esto:

ACPI: Searched entire block, no RSDP was found.
ACPI: RSDP located at physical address c00f6960
RSD PTR  v0 [IntelR]
__va_range(0x1fff3000, 0x68): idx=8 mapped at ffff6000
ACPI table found: RSDT v1 [IntelR AWRDACPI 16944.11825]
__va_range(0x1fff3040, 0x24): idx=8 mapped at ffff6000
__va_range(0x1fff3040, 0x74): idx=8 mapped at ffff6000
ACPI table found: FACP v1 [IntelR AWRDACPI 16944.11825]
__va_range(0x1fff6a80, 0x24): idx=8 mapped at ffff6000
__va_range(0x1fff6a80, 0x28): idx=8 mapped at ffff6000
ACPI table found: BOOT v1 [IntelR AWRDACPI 16944.11825]
__va_range(0x1fff6b40, 0x24): idx=8 mapped at ffff6000
__va_range(0x1fff6b40, 0x34): idx=8 mapped at ffff6000
ACPI table found: DBGP v1 [IntelR AWRDACPI 16944.11825]
__va_range(0x1fff6ac0, 0x24): idx=8 mapped at ffff6000
__va_range(0x1fff6ac0, 0x54): idx=8 mapped at ffff6000
ACPI table found: APIC v1 [IntelR AWRDACPI 16944.11825]
__va_range(0x1fff6ac0, 0x54): idx=8 mapped at ffff6000
LAPIC (acpi_id[0x0000] id[0x0] enabled[1])
CPU 0 (0x0000) enabledProcessor #0 Pentium 4(tm) APIC version 16

IOAPIC (id[0x2] address[0xfec00000] global_irq_base[0x0])
INT_SRC_OVR (bus[0] irq[0x0] global_irq[0x2] polarity[0x0] trigger[0x0])
INT_SRC_OVR (bus[0] irq[0x9] global_irq[0x9] polarity[0x1] trigger[0x3])
1 CPUs total
Local APIC address fee00000
Enabling the CPU's according to the ACPI table
Intel MultiProcessor Specification v1.4
    Virtual Wire compatibility mode.
OEM ID: OEM00000 Product ID: PROD00000000 APIC at: 0xFEE00000
I/O APIC #2 Version 17 at 0xFEC00000.
Enabling APIC mode: Flat.       Using 1 I/O APICs
Processors: 1


Parece que tiene algo que ver con el soporte multiprocesador o algo, sin embargo ni tengo multiprocesador ni (que yo sepa) HyperThreading (Es un P4 1.7 Ghz), sin embargo parece que lo detecta y lo activa.

¿Que es exactamente? ¿Afecta esto al rendimiento?
ACPI significa (Advanced Configuration and Power Interface) es un sustituto del APM en lo que a energía se refiere.. el ACPI no es muy estable (dicho sea de paso).

Es un estándar que define las interfaces de energía y de administración de la configuración entre un sistema operativo y la BIOS.

Es algo que hace que el hardware se entienda mejor con el SO pero aún no está bien integrado en el Kernel, como has descubierto... Mi consejo es que te esperes a que la distribución de turno lo traiga por defecto (es una cuestión de tiempo)... claro que si tienes prisa... seguro que usas gentoo ;)

Si no recuerdo mal el APIC era (Advanced Programmable Interrupt Controller) y tenía que ver con el tiempo en la CPU... en fin, creo que es un problema de hard & kernel... pero hoy estoy espesillo, así que no insistiré en la explicaçao

No sé si te he aclarado algo :) o aún ha sido peor :) [Alaa!]
Gracias por la explicación, ya investigaré un poco más [oki] [oki] [oki]

PD: Y sí, uso Gentoo [jaja] [jaja]
Pues yo estoy usando el acpi sin ningun problema en el portatil y con el cpufreq. Uso el kernel wolk 4.0s, basado en la rama estable del kernel (y con casi 10 megas de parches [boma] )
Y si, tambien uso gentoo XD

Saludos
¿Puedo desactivar el apic en mi maquina?

He probado con esto
noapic

Pero:

Kernel command line: auto BOOT_IMAGE=linux ro root=305 noapic devfs=mount acpi=off nomce quiet

Local APIC disabled by BIOS -- reenabling.
Found and enabled local APIC!

Nada y eso que tambien esta deshabilitado en la Bios.

En esta página:

http://www.ibiblio.org/mdw/HOWTO/BootPrompt-HOWTO.html
Dice
The `noapic' Argument:

Using this option tells a SMP kernel to not use some of the advanced feature

O sea que solo se podria desactivar en una maquina con varios
procesadores
¿Y yo que hago?
Qué portátil es, crackage? de momento, y por lo que he podido investigar, los mejores portátiles para utilizar con Linux son los Dell...

De hecho, los problemas del ACPI siempre vienen por que el hard no se acaba de entender con el SO... (ahora toca que maldiga a los q hacen [buuuaaaa] Hardware.. :) )
No todos los portátiles lo soportan, no sé si conoces el http://www.linux-laptop.net/ pero estaría bien que si no lo has posetao que lo hicieras :)
Me parece que os estáis confundiendo entre las siglas de ACPI y APIC [toctoc]

APIC es el Advanced Programmable Interrupt Controller, que es una versión nueva del viejo PIC que inventó Intel.

El PIC es el chip que permite que la arquitectura x86 esté basada en interrupciones. Se usa para que los dispositivos que rodean a la CPU puedan indicar que ha ocurrido un evento o que debe ocurrir, como discos duros, teclados, etc.

Sin el PIC se tendría que estar permanentemente preguntando a todo el mundo si ha ocurrido o tiene que ocurrir algo, con el PIC simplemente vas a la tuya hasta que alguien pide un poco de atención XD

Antes sólo existía un PIC, con hasta 8 interrupciones hardware (con los PC's XT). Con los AT, se puso otro chip PIC en cascada, dando un total de 15 líneas de hardware, dejando la última para comunicarse los dos chips (la IRQ2, que se redirecciona desde la IRQ9).

Todo este rollo viene de aquí: http://www.mega-tokyo.com/os/os-faq-pics.html

El APIC apareció con el Pentium para gestionar las interrupciones en sistemas multiprocesador (pdf de Intel).

Entre otras características, el APIC dispone de un contador capaz de producir interrupciones temporizadas con muy poca sobrecarga de programación.

Todos los procesadores Pentium® y compatibles disponen de un registro contador de 64 bits que se incrementa automáticamente cada tick de reloj del procesador.

La instrucción ensamblador rdtsc (read time stamp counter) devuelve el número de ciclos de procesador transcurridos desde el arranque de la máquina.

La precisión depende de la frecuencia del oscilador del procesador. Utilizando como referencia el reloj 8254 es posible determinar con precisión la frecuencia del propio procesador.

La lectura de este registro es muy rápida y no interfiere con la ejecución normal de los procesos (no accede a buses ni se necesitan muchas líneas de código que llenan la cache).

Esto es copy/paste directo de http://bernia.disca.upv.es/~iripoll/rt-linux/rtlinux-tutorial/05-tiempo/05-tiempo.html

Así pues, parece que conviene usar APIC aunque no se use SMP, si nuestra CPU dispone de él, ya que es un poco más avanzado que el método tradicional.

salu2
Pedazo explicación te has currado Briareos_H [boing] [boing] [boing]

Muchas gracias, tio [oki] [oki] [oki]

PD: Había leido por ahí que en sistemas Pentium 4 era conveniente activarlo, aunque no se tuviese SMP o HTT.
Sí Briareos_H una buena lección (veo que dominas el tema)


El caso es que como tengo la placa frita (y nulas
posibilidades de cambiarla)

quiero trastear un poco haber si almenos reduzco los cuelges
(da un kernel panic cuando se llama a alaguna interrupción)
Por hay puse el fallo exacto.
Ya he desactivdo el acpi,el mce,la tarjeta de sonido, los
puertos serie, el paralelo, la disquetera...
Bueno la verdad es que ahora mismo hasta le bajaria la velocidad
a la CPU si con eso consiguiera algo X-D
No se si será sugestión mia, pero me da como si el sistema fuese un poco más suelto... no más rápido porque le he pasado un benchmark y va mas o menos igual, pero parece como si le costase menos abrir las cosas... no sé quizás sea tambien el 2.4.21, la verdad es que de momento va de lujo. [ginyo] [ginyo] [ginyo]
9 respuestas