On Fri, 2008-10-10 at 14:41 +0200, Rafael J. Wysocki wrote: > On Friday, 10 of October 2008, Zhang Rui wrote: > > Hi, len, > > > > this is the ACPI regression test result based on the latest ACPI test branch. > > > > 1. on Acer:(AMD CPU, VIA chipset. 64 bit kernel) > > When doing S3 test, after pressing the power button, the system > > reboots instead of resuming. But if S3 is done after S4, the system can > > resume very well after pressing power button or using the RTC > > alarm. > > Note that this is an upstream regression as it can be reproduced on > > linus' tree. > > Yakui is investigating this issue. After using git-bisect we find that it is a regression between 2.6.26 and 2.6.27-rc1. The commit (736f12bff9d9e7b4e895c64f73b190c8383fc2a1) is good. And the commit(55f262391a2365d657a00ed68edd1a51bca66af5) is bad. The patches between the above two commits are related with X86. And when using the git-bisect between the above two commits, we will get the compile errors or kernel panic. So we can't continue to identify which commit causes the regression. > We had some reports of the second suspend (S3) failure too, where the second > attempt to suspend to RAM (or to resume from it) failed after a successful > one. I wonder if that's related. > > > 2. on most of the laptops(not all of them), we got this warning during > > boot, which is an acpi test branch regression. dmesg is attached. > > Now it is confirmed that the warning message will appear after the following commit is merged. >commit f2e969acd6d5981e6b1272810002558650d0736e >Author: Zhao Yakui <yakui.zhao@xxxxxxxxx> >Date: Mon Aug 11 14:57:50 2008 +0800 >ACPI: Add "acpi.power_nocheck=1" to disable power state check in power transition: In this patch the "acpi.power_nocheck" module parameter is defined in drivers/acpi/power.c file. As several module parameters using the same ACPI prefix are defined in the different files(for example: power_nocheck is defined in drivers/acpi/power.c, debug_layer/debug_level are defined in drivers/acpi/debug.c) and there exists another module between them, the following warning message will be printed when using the current generic param code.(param_sysfs_init) >WARNING: at /home/ykzhao/study/git_tree/linux-2.6/fs/sysfs/dir.c:463 >sysfs_add_one+0x33/0x39() >sysfs: duplicate filename 'acpi' can not be created In fact there exist the corresponding discussions in ACPI mailing list about this issue. >http://marc.info/?l=linux-acpi&m=121872830921823&w=2 This issue can be fixed by the following two approaches: a. fix it in generic param code related with sysfs b. workaround it in drivers/acpi/Makefile (Adjust the module order in Makefile) For example; -obj-$(CONFIG_ACPI_POWER) += power.o obj-$(CONFIG_ACPI_PROCESSOR) += processor.o obj-$(CONFIG_ACPI_CONTAINER) += container.o obj-$(CONFIG_ACPI_THERMAL) += thermal.o +obj-$(CONFIG_ACPI_POWER) += power.o obj-$(CONFIG_ACPI_SYSTEM) += system.o event.o obj-$(CONFIG_ACPI_DEBUG) += debug.o It is easy to workaround this issue in drivers/acpi/Makefile. But maybe it will be better to fix it in generic parameter sysfs code. Best regards. Yakui > > [ 0.192102] ------------[ cut here ]------------ > > [ 0.192102] WARNING: > > at /workshop/kernel/git/my/linux/fs/sysfs/dir.c:463 sysfs_add_one > > +0x35/0x3d() > > [ 0.192165] sysfs: duplicate filename 'acpi' can not be created > > [ 0.192223] Modules linked in: > > [ 0.192311] Pid: 1, comm: swapper Not tainted > > 2.6.27-rc7-00058-g14d31d8 #760 > > [ 0.192371] > > [ 0.192372] Call Trace: > > [ 0.192475] [<ffffffff8024e2f7>] warn_slowpath+0xae/0xdd > > [ 0.192535] [<ffffffff8026cbf9>] ? trace_hardirqs_off+0xd/0xf > > [ 0.192594] [<ffffffff80271318>] ? __lock_acquire+0x70e/0x76c > > [ 0.192653] [<ffffffff8026cc2f>] ? get_lock_stats+0x34/0x5d > > [ 0.192712] [<ffffffff8026cc66>] ? put_lock_stats+0xe/0x27 > > [ 0.192770] [<ffffffff8026cd20>] ? lock_release_holdtime+0xa1/0xa9 > > [ 0.192832] [<ffffffff806841a5>] ? _spin_unlock+0x30/0x4b > > [ 0.192891] [<ffffffff802d2a8b>] ? ifind+0xa3/0xb3 > > [ 0.192949] [<ffffffff80308d4f>] ? sysfs_find_dirent+0x1c/0x31 > > [ 0.193008] [<ffffffff80308d83>] ? __sysfs_add_one+0x1f/0x7c > > [ 0.193067] [<ffffffff80308e15>] sysfs_add_one+0x35/0x3d > > [ 0.193125] [<ffffffff803093ef>] create_dir+0x58/0x93 > > [ 0.193184] [<ffffffff80309462>] sysfs_create_dir+0x38/0x4f > > [ 0.193242] [<ffffffff806841a5>] ? _spin_unlock+0x30/0x4b > > [ 0.193301] [<ffffffff803a72cb>] kobject_add_internal+0xdb/0x19b > > [ 0.193361] [<ffffffff803a7457>] kobject_add_varg+0x41/0x4e > > [ 0.193419] [<ffffffff803a74d2>] kobject_init_and_add+0x6e/0x7c > > [ 0.193479] [<ffffffff803a7e0c>] ? kobject_uevent_env+0x35b/0x38a > > [ 0.193538] [<ffffffff803a7e0c>] ? kobject_uevent_env+0x35b/0x38a > > [ 0.193598] [<ffffffff8026f994>] ? trace_hardirqs_on+0xd/0xf > > [ 0.196021] [<ffffffff8026f95c>] ? trace_hardirqs_on_caller > > +0xf9/0x124 > > [ 0.196081] [<ffffffff8026f994>] ? trace_hardirqs_on+0xd/0xf > > [ 0.196141] [<ffffffff8095c733>] kernel_param_sysfs_setup+0x6b/0xc6 > > This seems to be where the erring code path starts. I'll have a look later > today. > > > [ 0.196201] [<ffffffff8095c8ed>] param_sysfs_init+0x15f/0x1d6 > > [ 0.196260] [<ffffffff803087a0>] ? sysfs_add_file+0xc/0xe > > [ 0.196318] [<ffffffff8095c78e>] ? param_sysfs_init+0x0/0x1d6 > > [ 0.196378] [<ffffffff80209047>] _stext+0x47/0x144 > > [ 0.196436] [<ffffffff8028b77a>] ? register_irq_proc+0xaf/0xcb > > [ 0.196497] [<ffffffff809478ed>] kernel_init+0x11d/0x171 > > [ 0.196555] [<ffffffff80683699>] ? trace_hardirqs_on_thunk+0x3a/0x3f > > [ 0.196616] [<ffffffff802240c9>] child_rip+0xa/0x11 > > [ 0.196674] [<ffffffff80246160>] ? finish_task_switch+0x5f/0xf3 > > [ 0.196733] [<ffffffff802236d3>] ? restore_args+0x0/0x30 > > [ 0.196791] [<ffffffff80686fc5>] ? __atomic_notifier_call_chain > > +0x0/0xb2 > > [ 0.196852] [<ffffffff809477d0>] ? kernel_init+0x0/0x171 > > [ 0.196910] [<ffffffff802240bf>] ? child_rip+0x0/0x11 > > [ 0.196966] > > [ 0.197107] ---[ end trace 4eaa2a86a8e2da22 ]--- > > [ 0.197166] kobject_add_internal failed for acpi with -EEXIST, don't > > try to register things with the same name in the same directory. > > [ 0.197248] Pid: 1, comm: swapper Tainted: G W > > 2.6.27-rc7-00058-g14d31d8 #760 > > [ 0.197321] > > [ 0.197322] Call Trace: > > [ 0.197423] [<ffffffff803a7042>] ? kobject_put+0x47/0x4b > > [ 0.197481] [<ffffffff803a7349>] kobject_add_internal+0x159/0x19b > > [ 0.197540] [<ffffffff803a7457>] kobject_add_varg+0x41/0x4e > > [ 0.197599] [<ffffffff803a74d2>] kobject_init_and_add+0x6e/0x7c > > [ 0.197658] [<ffffffff803a7e0c>] ? kobject_uevent_env+0x35b/0x38a > > [ 0.197717] [<ffffffff803a7e0c>] ? kobject_uevent_env+0x35b/0x38a > > [ 0.197777] [<ffffffff8026f994>] ? trace_hardirqs_on+0xd/0xf > > [ 0.197835] [<ffffffff8026f95c>] ? trace_hardirqs_on_caller > > +0xf9/0x124 > > [ 0.197896] [<ffffffff8026f994>] ? trace_hardirqs_on+0xd/0xf > > [ 0.197954] [<ffffffff8095c733>] kernel_param_sysfs_setup+0x6b/0xc6 > > [ 0.198014] [<ffffffff8095c8ed>] param_sysfs_init+0x15f/0x1d6 > > [ 0.198073] [<ffffffff803087a0>] ? sysfs_add_file+0xc/0xe > > [ 0.198132] [<ffffffff8095c78e>] ? param_sysfs_init+0x0/0x1d6 > > [ 0.198190] [<ffffffff80209047>] _stext+0x47/0x144 > > [ 0.198247] [<ffffffff8028b77a>] ? register_irq_proc+0xaf/0xcb > > [ 0.198306] [<ffffffff809478ed>] kernel_init+0x11d/0x171 > > [ 0.198364] [<ffffffff80683699>] ? trace_hardirqs_on_thunk+0x3a/0x3f > > [ 0.198425] [<ffffffff802240c9>] child_rip+0xa/0x11 > > [ 0.198482] [<ffffffff80246160>] ? finish_task_switch+0x5f/0xf3 > > [ 0.198541] [<ffffffff802236d3>] ? restore_args+0x0/0x30 > > [ 0.198599] [<ffffffff80686fc5>] ? __atomic_notifier_call_chain > > +0x0/0xb2 > > [ 0.198659] [<ffffffff809477d0>] ? kernel_init+0x0/0x171 > > [ 0.198717] [<ffffffff802240bf>] ? child_rip+0x0/0x11 > > [ 0.198774] > > [ 0.198824] Module 'acpi' failed to be added to sysfs, error number > > -17 > > [ 0.198882] The system will be unstable now. > > > > Thanks, > Rafael > -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html