[rlug] Pornirea kernelului durează 30s pe un Fujitsu S782

Adrian Popa adrian.popa.gh at gmail.com
Fri Mar 2 20:41:14 EET 2018


Se pare că am tras lozul câștigător. Am boot-at cu acpi_no_static_ssdt și a
mers. Kernelul a pornit în 1.5s:

[    0.000000] ACPI: Early table checksum verification disabled
[    0.000000] ACPI: RSDP 0x00000000000F0120 000024 (v02 FUJ   )
[    0.000000] ACPI: XSDT 0x00000000DAFFE170 0000BC (v01 FUJ    PC
020B0000 FUJ  00000001)
[    0.000000] ACPI: FACP 0x00000000DAFEC000 00010C (v05 FUJ    PC
020B0000 FUJ  00000001)
[    0.000000] ACPI: DSDT 0x00000000DAFEF000 009C75 (v02 FUJ    FJNB253
020B0000 INTL 20061109)
[    0.000000] ACPI: FACS 0x00000000DAF9D000 000040
[    0.000000] ACPI: SLIC 0x00000000DAFFD000 000176 (v01 FUJ    PC
020B0000 FUJ  00000001)
[    0.000000] ACPI: Ignoring installation of SSDT at 00000000DAFFC000
[    0.000000] ACPI: Ignoring installation of SSDT at 00000000DAFFB000
[    0.000000] ACPI: Ignoring installation of SSDT at 00000000DAFFA000
[    0.000000] ACPI: Ignoring installation of SSDT at 00000000DAFF9000
[    0.000000] ACPI: HPET 0x00000000DAFEB000 000038 (v01 FUJ    PC
020B0000 FUJ  00000001)
[    0.000000] ACPI: APIC 0x00000000DAFEA000 000098 (v03 FUJ    PC
020B0000 FUJ  00000001)
[    0.000000] ACPI: MCFG 0x00000000DAFE9000 00003C (v01 FUJ    PC
020B0000 FUJ  00000001)
[    0.000000] ACPI: FPDT 0x00000000DAFE8000 000064 (v01 FUJ    PC
020B0000 FUJ  00000001)
[    0.000000] ACPI: ASF! 0x00000000DAFEE000 0000A5 (v32 FUJ    PC
020B0000 FUJ  00000001)
[    0.000000] ACPI: Ignoring installation of SSDT at 00000000DAFE7000
[    0.000000] ACPI: Ignoring installation of SSDT at 00000000DAFE6000
[    0.000000] ACPI: UEFI 0x00000000DAFE5000 00003E (v01 FUJ    PC
020B0000 FUJ  00000001)
...
[    0.696568] ACPI: Added _OSI(Module Device)
[    0.696573] ACPI: Added _OSI(Processor Device)
[    0.696577] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.696581] ACPI: Added _OSI(Processor Aggregator Device)
[    0.698461] ACPI: [Firmware Bug]: BIOS _OSI(Linux) query ignored
[    0.698621] ACPI: Dynamic OEM Table Load:
[    0.698819] ACPI: SSDT 0xFFFF8DBDD89B4000 000CA9 (v02 FUJ    Win8Ssdt
00000001 INTL 20061109)
[    0.702928] ACPI : EC: EC started
[    0.702934] ACPI : EC: interrupt blocked
[    0.702964] ACPI: \_SB_.PCI0.LPCB.EC__: Used as first EC
[    0.702969] ACPI: \_SB_.PCI0.LPCB.EC__: GPE=0x17, EC_CMD/EC_SC=0x66,
EC_DATA=0x62
[    0.702976] ACPI: \_SB_.PCI0.LPCB.EC__: Used as boot DSDT EC to handle
transactions
[    0.702982] ACPI: Interpreter enabled
[    0.703018] ACPI: (supports S0 S3 S4 S5)
[    0.703022] ACPI: Using IOAPIC for interrupt routing
[    0.703055] PCI: Using host bridge windows from ACPI; if necessary, use
"pci=nocrs" and report a bug
[    0.709563] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-3e])

Văd că se plânge de niște treburi, dar bateria merge și nu mai am efectul
de time warp pe care îl aveam cu acpi=off, așa că sunt fericit!
[    9.483986] ACPI Warning: SystemIO range
0x0000000000000428-0x000000000000042F conflicts with OpRegion
0x0000000000000400-0x000000000000047F (\_SB.PCI0.LPCB.PMIO)
(20160831/utaddress-247)
[    9.483992] ACPI: If an ACPI driver is available for this device, you
should use it instead of the nati
ve driver
[    9.483995] ACPI Warning: SystemIO range
0x0000000000000540-0x000000000000054F conflicts with OpRegion
0x0000000000000500-0x000000000000054B (\_SB.PCI0.LPCB.OGIO)
(20160831/utaddress-247)
[    9.483999] ACPI: If an ACPI driver is available for this device, you
should use it instead of the nati
ve driver
[    9.484000] ACPI Warning: SystemIO range
0x0000000000000530-0x000000000000053F conflicts with OpRegion
0x0000000000000500-0x000000000000054B (\_SB.PCI0.LPCB.OGIO)
(20160831/utaddress-247)
[    9.484003] ACPI: If an ACPI driver is available for this device, you
should use it instead of the native driver
[    9.484004] ACPI Warning: SystemIO range
0x0000000000000500-0x000000000000052F conflicts with OpRegion
0x0000000000000500-0x000000000000054B (\_SB.PCI0.LPCB.OGIO)
(20160831/utaddress-247)
[    9.484007] ACPI: If an ACPI driver is available for this device, you
should use it instead of the native driver

Trebuia să fi săpat mai mult acum 2 ani...
Weekend plăcut!



On Thu, Mar 1, 2018 at 12:27 PM, Adrian Popa <adrian.popa.gh at gmail.com>
wrote:

> Ok, e timpul pentru un update. Luna care a trecut m-am tot luptat cu
> upgrade-ul de kernel.
>
> Din MSDOS nu a vrut și pace.
> Am încercat cu un GandalfPE (Windows 10 bootabil) și am reușit să fac
> update la Bios 2.07JJ. Din păcate update-ul la 2.11 nu a mers. Am fost
> nevoit să pun un windows 10 pe un HDD și de acolo am reușit să instalez
> update-ul la 2.11. Yay! Din păcate, update-ul de 2.16 nu merge - dă eroare
> că nu găsește un fișier care e în directorul updater-ului.
> Am încercat să instalez DeskUpdater, care e un tool al lui Fujitsu pentru
> update de drivere (https://support.ts.fujitsu.com/DeskUpdate/Index.asp),
> dar ghinion, Windows 10 nu e suportat. Nu am chef să pun Windows 7 să
> reîncerc...
>
> Din păcate cu BIOS 2.11 nu se vede nici o diferență la boot în linux.
> Varianta cu ținutul laptopului în hibernate to disk nu e viabilă pentru că
> la trezire oricum trebuie să booteze kernelul și aștept 40s. :(
>
> N-am încercat să fac update de bios din WINE (deși presupun că nu o să
> meargă că pare să folosească chestii low-level)...
>
> Planul F, la care am ajuns e să mai bibilesc parametrii ACPI ai
> kernel-ului, poate îl conving să nu mai piardă vremea la inițializare:
>
> 	acpi=		[HW,ACPI,X86,ARM64]
> 			Advanced Configuration and Power Interface
> 			Format: { force | on | off | strict | noirq | rsdt |
> 				  copy_dsdt }
> 			force -- enable ACPI if default was off
> 			on -- enable ACPI but allow fallback to DT [arm64]
> 			off -- disable ACPI if default was on
> 			noirq -- do not use ACPI for IRQ routing
> 			strict -- Be less tolerant of platforms that are not
> 				strictly ACPI specification compliant.
> 			rsdt -- prefer RSDT over (default) XSDT
> 			copy_dsdt -- copy DSDT to memory
> 			For ARM64, ONLY "acpi=off", "acpi=on" or "acpi=force"
> 			are available
>
> 			See also Documentation/power/runtime_pm.txt, pci=noacpi
>
> 	acpi_apic_instance=	[ACPI, IOAPIC]
> 			Format: <int>
> 			2: use 2nd APIC table, if available
> 			1,0: use 1st APIC table
> 			default: 0
>
> 	acpi_backlight=	[HW,ACPI]
> 			acpi_backlight=vendor
> 			acpi_backlight=video
> 			If set to vendor, prefer vendor specific driver
> 			(e.g. thinkpad_acpi, sony_acpi, etc.) instead
> 			of the ACPI video.ko driver.
>
> 	acpi_force_32bit_fadt_addr
> 			force FADT to use 32 bit addresses rather than the
> 			64 bit X_* addresses. Some firmware have broken 64
> 			bit addresses for force ACPI ignore these and use
> 			the older legacy 32 bit addresses.
>
> 	acpica_no_return_repair [HW, ACPI]
> 			Disable AML predefined validation mechanism
> 			This mechanism can repair the evaluation result to make
> 			the return objects more ACPI specification compliant.
> 			This option is useful for developers to identify the
> 			root cause of an AML interpreter issue when the issue
> 			has something to do with the repair mechanism.
>
> 	acpi.debug_layer=	[HW,ACPI,ACPI_DEBUG]
> 	acpi.debug_level=	[HW,ACPI,ACPI_DEBUG]
> 			Format: <int>
> 			CONFIG_ACPI_DEBUG must be enabled to produce any ACPI
> 			debug output.  Bits in debug_layer correspond to a
> 			_COMPONENT in an ACPI source file, e.g.,
> 			    #define _COMPONENT ACPI_PCI_COMPONENT
> 			Bits in debug_level correspond to a level in
> 			ACPI_DEBUG_PRINT statements, e.g.,
> 			    ACPI_DEBUG_PRINT((ACPI_DB_INFO, ...
> 			The debug_level mask defaults to "info".  See
> 			Documentation/acpi/debug.txt for more information about
> 			debug layers and levels.
>
> 			Enable processor driver info messages:
> 			    acpi.debug_layer=0x20000000
> 			Enable PCI/PCI interrupt routing info messages:
> 			    acpi.debug_layer=0x400000
> 			Enable AML "Debug" output, i.e., stores to the Debug
> 			object while interpreting AML:
> 			    acpi.debug_layer=0xffffffff acpi.debug_level=0x2
> 			Enable all messages related to ACPI hardware:
> 			    acpi.debug_layer=0x2 acpi.debug_level=0xffffffff
>
> 			Some values produce so much output that the system is
> 			unusable.  The "log_buf_len" parameter may be useful
> 			if you need to capture more output.
>
> 	acpi_enforce_resources=	[ACPI]
> 			{ strict | lax | no }
> 			Check for resource conflicts between native drivers
> 			and ACPI OperationRegions (SystemIO and SystemMemory
> 			only). IO ports and memory declared in ACPI might be
> 			used by the ACPI subsystem in arbitrary AML code and
> 			can interfere with legacy drivers.
> 			strict (default): access to resources claimed by ACPI
> 			is denied; legacy drivers trying to access reserved
> 			resources will fail to bind to device using them.
> 			lax: access to resources claimed by ACPI is allowed;
> 			legacy drivers trying to access reserved resources
> 			will bind successfully but a warning message is logged.
> 			no: ACPI OperationRegions are not marked as reserved,
> 			no further checks are performed.
>
> 	acpi_force_table_verification	[HW,ACPI]
> 			Enable table checksum verification during early stage.
> 			By default, this is disabled due to x86 early mapping
> 			size limitation.
>
> 	acpi_irq_balance [HW,ACPI]
> 			ACPI will balance active IRQs
> 			default in APIC mode
>
> 	acpi_irq_nobalance [HW,ACPI]
> 			ACPI will not move active IRQs (default)
> 			default in PIC mode
>
> 	acpi_irq_isa=	[HW,ACPI] If irq_balance, mark listed IRQs used by ISA
> 			Format: <irq>,<irq>...
>
> 	acpi_irq_pci=	[HW,ACPI] If irq_balance, clear listed IRQs for
> 			use by PCI
> 			Format: <irq>,<irq>...
>
> 	acpi_mask_gpe=  [HW,ACPI]
> 			Due to the existence of _Lxx/_Exx, some GPEs triggered
> 			by unsupported hardware/firmware features can result in
>                         GPE floodings that cannot be automatically disabled by
>                         the GPE dispatcher.
> 			This facility can be used to prevent such uncontrolled
> 			GPE floodings.
> 			Format: <int>
>
> 	acpi_no_auto_serialize	[HW,ACPI]
> 			Disable auto-serialization of AML methods
> 			AML control methods that contain the opcodes to create
> 			named objects will be marked as "Serialized" by the
> 			auto-serialization feature.
> 			This feature is enabled by default.
> 			This option allows to turn off the feature.
>
> 	acpi_no_memhotplug [ACPI] Disable memory hotplug.  Useful for kdump
> 			   kernels.
>
> 	acpi_no_static_ssdt	[HW,ACPI]
> 			Disable installation of static SSDTs at early boot time
> 			By default, SSDTs contained in the RSDT/XSDT will be
> 			installed automatically and they will appear under
> 			/sys/firmware/acpi/tables.
> 			This option turns off this feature.
> 			Note that specifying this option does not affect
> 			dynamic table installation which will install SSDT
> 			tables to /sys/firmware/acpi/tables/dynamic.
>
> 	acpi_rsdp=	[ACPI,EFI,KEXEC]
> 			Pass the RSDP address to the kernel, mostly used
> 			on machines running EFI runtime service to boot the
> 			second kernel for kdump.
>
> 	acpi_os_name=	[HW,ACPI] Tell ACPI BIOS the name of the OS
> 			Format: To spoof as Windows 98: ="Microsoft Windows"
>
> 	acpi_rev_override [ACPI] Override the _REV object to return 5 (instead
> 			of 2 which is mandated by ACPI 6) as the supported ACPI
> 			specification revision (when using this switch, it may
> 			be necessary to carry out a cold reboot _twice_ in a
> 			row to make it take effect on the platform firmware).
>
> 	acpi_osi=	[HW,ACPI] Modify list of supported OS interface strings
> 			acpi_osi="string1"	# add string1
> 			acpi_osi="!string2"	# remove string2
> 			acpi_osi=!*		# remove all strings
> 			acpi_osi=!		# disable all built-in OS vendor
> 						  strings
> 			acpi_osi=!!		# enable all built-in OS vendor
> 						  strings
> 			acpi_osi=		# disable all strings
>
> 			'acpi_osi=!' can be used in combination with single or
> 			multiple 'acpi_osi="string1"' to support specific OS
> 			vendor string(s).  Note that such command can only
> 			affect the default state of the OS vendor strings, thus
> 			it cannot affect the default state of the feature group
> 			strings and the current state of the OS vendor strings,
> 			specifying it multiple times through kernel command line
> 			is meaningless.  This command is useful when one do not
> 			care about the state of the feature group strings which
> 			should be controlled by the OSPM.
> 			Examples:
> 			  1. 'acpi_osi=! acpi_osi="Windows 2000"' is equivalent
> 			     to 'acpi_osi="Windows 2000" acpi_osi=!', they all
> 			     can make '_OSI("Windows 2000")' TRUE.
>
> 			'acpi_osi=' cannot be used in combination with other
> 			'acpi_osi=' command lines, the _OSI method will not
> 			exist in the ACPI namespace.  NOTE that such command can
> 			only affect the _OSI support state, thus specifying it
> 			multiple times through kernel command line is also
> 			meaningless.
> 			Examples:
> 			  1. 'acpi_osi=' can make 'CondRefOf(_OSI, Local1)'
> 			     FALSE.
>
> 			'acpi_osi=!*' can be used in combination with single or
> 			multiple 'acpi_osi="string1"' to support specific
> 			string(s).  Note that such command can affect the
> 			current state of both the OS vendor strings and the
> 			feature group strings, thus specifying it multiple times
> 			through kernel command line is meaningful.  But it may
> 			still not able to affect the final state of a string if
> 			there are quirks related to this string.  This command
> 			is useful when one want to control the state of the
> 			feature group strings to debug BIOS issues related to
> 			the OSPM features.
> 			Examples:
> 			  1. 'acpi_osi="Module Device" acpi_osi=!*' can make
> 			     '_OSI("Module Device")' FALSE.
> 			  2. 'acpi_osi=!* acpi_osi="Module Device"' can make
> 			     '_OSI("Module Device")' TRUE.
> 			  3. 'acpi_osi=! acpi_osi=!* acpi_osi="Windows 2000"' is
> 			     equivalent to
> 			     'acpi_osi=!* acpi_osi=! acpi_osi="Windows 2000"'
> 			     and
> 			     'acpi_osi=!* acpi_osi="Windows 2000" acpi_osi=!',
> 			     they all will make '_OSI("Windows 2000")' TRUE.
>
> 	acpi_pm_good	[X86]
> 			Override the pmtimer bug detection: force the kernel
> 			to assume that this machine's pmtimer latches its value
> 			and always returns good values.
>
> 	acpi_sci=	[HW,ACPI] ACPI System Control Interrupt trigger mode
> 			Format: { level | edge | high | low }
>
> 	acpi_skip_timer_override [HW,ACPI]
> 			Recognize and ignore IRQ0/pin2 Interrupt Override.
> 			For broken nForce2 BIOS resulting in XT-PIC timer.
>
> 	acpi_sleep=	[HW,ACPI] Sleep options
> 			Format: { s3_bios, s3_mode, s3_beep, s4_nohwsig,
> 				  old_ordering, nonvs, sci_force_enable, nobl }
> 			See Documentation/power/video.txt for information on
> 			s3_bios and s3_mode.
> 			s3_beep is for debugging; it makes the PC's speaker beep
> 			as soon as the kernel's real-mode entry point is called.
> 			s4_nohwsig prevents ACPI hardware signature from being
> 			used during resume from hibernation.
> 			old_ordering causes the ACPI 1.0 ordering of the _PTS
> 			control method, with respect to putting devices into
> 			low power states, to be enforced (the ACPI 2.0 ordering
> 			of _PTS is used by default).
> 			nonvs prevents the kernel from saving/restoring the
> 			ACPI NVS memory during suspend/hibernation and resume.
> 			sci_force_enable causes the kernel to set SCI_EN directly
> 			on resume from S1/S3 (which is against the ACPI spec,
> 			but some broken systems don't work without it).
> 			nobl causes the internal blacklist of systems known to
> 			behave incorrectly in some ways with respect to system
> 			suspend and resume to be ignored (use wisely).
>
> 	acpi_use_timer_override [HW,ACPI]
> 			Use timer override. For some broken Nvidia NF5 boards
> 			that require a timer override, but don't have HPET
>
>
> O să încerc cu acpi_no_static_ssdt data viitoare când bootez...
>
> 2018-02-06 8:53 GMT+02:00 Adrian Popa <adrian.popa.gh at gmail.com>:
>
>> Mulțumesc pentru sfaturi!
>>
>> 2018-02-05 22:16 GMT+02:00 Dumitru Ciobarcianu <
>> dumitru.ciobarcianu at ines.ro>:
>>
>>> On 05-Feb-18 11:15 AM, Adrian Popa wrote:
>>> > Legat de hibernare - ca să meargă trebuie să am swap partition > ram?
>>> Sau
>>> > care e requirement-ul?
>>>
>>> Nu m-am mai uitat de mult prin subsistemul de suspend al linux însă
>>> ultima oară când am verificat, primul lucru pe care îl face este să facă
>>> drop la caches (nu are sens să pierzi timpul cu scrisul la atâta
>>> informație în swap) iar la scrierea efectivă a informației "utile" se
>>> face un minim de compresie (tot din motivul "timp", discul este cea mai
>>> lentă parte a sistemului, cu cât ai mai puțin de scris cu atât se
>>> termină operațiunea mai repede).
>>>
>>> Mai multe informații la:
>>> https://www.kernel.org/doc/Documentation/power/interface.txt
>>> Citez:
>>> "/sys/power/image_size controls the size of hibernation images.
>>> [...]
>>> Reading from this file returns the current image size limit, which is
>>> set to around 2/5 of available RAM by default."
>>>
>>> Dumitru "de cele mai multe ori prefer suspend-to-ram" C.
>>>
>>> ---
>>> This email has been checked for viruses by Avast antivirus software.
>>> https://www.avast.com/antivirus
>>>
>>>
>>> _______________________________________________
>>> RLUG mailing list
>>> RLUG at lists.lug.ro
>>> http://lists.lug.ro/mailman/listinfo/rlug_lists.lug.ro
>>>
>>
>>
>



More information about the RLUG mailing list