tuxonice problems with nvidia-drivers-270.41.06

A few days ago nvidia-drivers-270.41.06 appeared in the gentoo partage tree. During my regular updates it got installed. Afterwards turonice did not work anymore with the configuration I wrote about in zen-sources-2.6.38_p20110501 with tuxonice.

The dmesg output during supend to disk was:

Freezing processes & syncing filesystems.
Stopping fuse filesystems.
Freezing user space processes … (elapsed 0.01 seconds) done.
Stopping normal filesystems.
Freezing remaining freezable tasks … (elapsed 0.01 seconds) done.
Preparing Image. Try 1.
Restarting normal filesystems.
Stopping fuse filesystems.
Freezing user space processes … (elapsed 0.00 seconds) done.
Stopping normal filesystems.
Freezing remaining freezable tasks …
Freezing of tasks failed after 20.00 seconds (1 tasks refusing to freeze, wq_busy=0):
khugepaged      R  running task        0   619      2 0x00800000
ffff88004ef24fa0 ffffffff81692eb9 ffff88004ef24fa0 ffff8800cf13e0c0
ffff8800c861e000 ffff8800c861e010 ffff8800c861e000 ffff8800cf13e330
ffff8800c861ffd8 ffff8800c861e010 ffff8800cf13e148 ffff8800cf13e330
Call Trace:
[<ffffffff81692eb9>] ? schedule+0x729/0xea0
[<ffffffff8169308b>] ? schedule+0x8fb/0xea0
[<ffffffff8110d4ab>] ? __page_check_address+0x10b/0x190
[<ffffffff8110d9f6>] ? page_referenced_one+0x96/0x220
[<ffffffff8110eb7a>] ? page_referenced+0x2da/0x370
[<ffffffff810f13fd>] ? shrink_page_list+0x21d/0x5d0
[<ffffffff810f1b9e>] ? shrink_inactive_list+0x15e/0x4d0
[<ffffffff812d74b8>] ? __next_cpu+0x18/0x30
[<ffffffff8103877b>] ? resched_best_mask+0x3b/0xd0
[<ffffffff810f22bb>] ? shrink_zone+0x3ab/0x500
[<ffffffff810f32bf>] ? do_try_to_free_pages+0xcf/0x470
[<ffffffff810f3965>] ? try_to_free_pages+0xa5/0x1c0
[<ffffffff810e7d5c>] ? __alloc_pages_nodemask+0x49c/0x900
[<ffffffff81050496>] ? try_to_del_timer_sync+0x76/0x110
[<ffffffff81050690>] ? process_timeout+0x0/0x10
[<ffffffff81126461>] ? khugepaged_alloc_hugepage+0x51/0xe0
[<ffffffff81061c70>] ? autoremove_wake_function+0x0/0x30
[<ffffffff811266bd>] ? khugepaged+0xad/0x10e0
[<ffffffff81061c70>] ? autoremove_wake_function+0x0/0x30
[<ffffffff81126610>] ? khugepaged+0x0/0x10e0
[<ffffffff81126610>] ? khugepaged+0x0/0x10e0
[<ffffffff81061706>] ? kthread+0x96/0xa0
[<ffffffff8103c6af>] ? schedule_tail+0x4f/0x110
[<ffffffff81003bd4>] ? kernel_thread_helper+0x4/0x10
[<ffffffff81061670>] ? kthread+0x0/0xa0
[<ffffffff81003bd0>] ? kernel_thread_helper+0x0/0x10

Cleaning up…
Restarting all filesystems …
Restarting tasks … done.
video LNXVIDEO:00: Restoring backlight state
TuxOnIce debugging info:
– TuxOnIce core  : 3.2
– Kernel Version : 2.6.38.4-zen
– Compiler vers. : 4.4
– Attempt number : 1
– Parameters     : 17 700428 2 1 -2 4
– Overall expected compression percentage: 50.
– Compressor is ‘lzf’.
– Block I/O active.
Used 0 pages from swap on /dev/sda6.
– Max outstanding reads 1. Max writes 0.
Memory_needed: 1024 x (4096 + 360 + 112) = 4677632 bytes.
Free mem throttle point reached 0.
– Swap Allocator enabled.
Swap available for image: 2098481 pages.
– File Allocator active.
Storage available for image: 0 pages.
– No I/O speed stats available.
– Extra pages    : 0 used/500.
– Result         : Hibernation was aborted.
: Freezing filesystems and/or tasks failed.

Somehow there seems to be a problem with nvidia-drivers-270.41.06. After downgrading to nvidia-drivers-260.19.44 tuxonice worked as usual.

Addon:

This solution was partly wrong. As I noticed later, the problem still persists occasionally. With the older nvidia-driver the probability that the problem occurs just was lower. However, the main reason  for the tuxonice abort is some incompatibility between tuxonice and the new transparent hugepage feature of the kernel. As a workaround one may disable the transparent hugepage support before suspension and reenable it afterwards. I.e. one can include something like the following in his hibernate configuration:

OnSuspend 90 echo ‘never’ > /sys/kernel/mm/transparent_hugepage/enabled

OnResume 90 echo ‘always’ > /sys/kernel/mm/transparent_hugepage/enabled

or

OnResume 90 echo ‘madvise’ > /sys/kernel/mm/transparent_hugepage/enabled

Jürgen

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

zen-sources ebuilds now with tuxonice

Starting with kernel version 2.6.36 tuxonice has been removed from the zen-sources patchset, the high-performance linux-kernel for desktops. With the new zen-sources-2.6.38_p20110510 ebuild the maintainer of the zen-sources ebuilds started to include tuxonice into the zen-sources ebuilds in gentoos portage tree.  Now the reliable suspend mechanism, tuxonice is known for, is again easily available on genttoo systems with zen-.sources.  Thanks Markos!

A Gentoo user now can choose if he wants to have zen-sources with tuxonice or not. To get zen sources with tuxonice one just has to include the tuxonice USE-flag into his /etc/make.conf and emerge zen-sources afterwards. Then one has to configure and compile the kernel as usual.

Jürgen

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

zen-sources-2.6.38_p20110501 with tuxonice

Starting with 2.6.36 tuxonice has been removed from zen-sources again. A few days ago the zen-sources-2.6.38_p20110501 ebuild appeared in the gentoo portage tree. So I patched the brand new zen-sources-2.6.38_p20110501 with tuxonice. The official 2.6.38 tuxonice patch from tuxonice.net has worked out of the box, this time.

Suspend to RAM works at least on my Dell Precison M65 and my Desktop, as well as suspend to disk does. Well, I have to mention that I again tried to use BFS, the brain fuck scheduler, to increase (felt) performance. This time the brain fuck scheduler worked well with tuxonice and did not result in the crash during atomic copy, I described in zen-sources-2.6.37_p20110325 with tuxonice.  Thus  I did not have to fall back to the CFS scheduler and automatic control groups as I had to with 2.6.37. However this is also an alternative to the brain fuck scheduler.

Download the zen-sources-2.6.38_p20110501 patch here. Then apply the patch to the vanilla kernel sources avalable from kernel.org. Afterwards download the tuxonice patch from tuxonice.net and apply it. Now you can continue with the standard kernel building process.

For Gentoo users there is a more easy way: Download my modified overlay from [download#69] and extract it in /usr/local/portage. Be sure to include the following line in your /etc/make.conf:

PORTDIR_OVERLAY=”/usr/local/portage”

If you want to use tuxonice include toi in your USE-flags. Then emerge zen-sources and build the kernel as you wish.

Tuxonice is not officially supported in current zen-sources. So If you’re using the files above, don’t report any bugs to zen-sources.org. You are on your own.

For my Precision M65 I used the following kernel config: [download#70]

For more information on the zen-sources patchset see www.zen-sources.org.

best regards

Jürgen

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

iptables mirror target for kernel version 2.6.37

During my last kernel upgrade I recognized that the iptables mirror target I published here, here and here and here does not work anymore with kernel version 2.6.37. There were some slight changes in kernel headers. You can download the newer version for 2.6.37 and probably future kernels here:

[download#67] gplv3-127x51

To build the module, boot the kernel you want to use the module with. Afterwards unpack the archive, run the compile.sh script and the install.sh script.

Now you may use the mirror target in place of the reject or drop target in the INPUT, FORWARD and PREROUTING chains, like this in your firewall script:

$IPTABLES -A INPUT -j MIRROR

Beware: The use of the mirror target may have strange results, i.e. if you want to connect to the iptables protected machine, you may end up connecting to the local machine without recognizing it. It also may use much bandwith. Worst case: if you have two machines using this module they may end up playing pingpong. So you have been warned, use with caution and at your own risk. For more information see: MIRROR target.

Downloads for older kernel versions are below. Notice the version numbering 2.6.25 works for kernels up to 2.6.27. 2.6.28 also works for 2.6.29 and 2.6.30 kernels. The 2.6.13 version of the module should work up to kernel version 2.6.16.

[download#45]
[download#12]
[download#13]
[download#14]
[download#32]
[download#39]
[download#46]
gplv3-127x51

regards
Jürgen

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)
Loading...

zen-sources-2.6.37_p20110325 with tuxonice

Starting with 2.6.36 tuxonice has been removed from zen-sources again. A few days ago the zen-sources-2.6.37_p20110325 ebuild appeared in the gentoo portage tree.  Since I did not want to stick to my old 2.6.35 kernel I patched the brand new zen-sources-2.6.37_p20110325 with tuxonice. The official tuxonice patch from tuxonice.net did not work, so I had to slightly modify it to apply cleanly on zen-sources.

Suspend to RAM works at least on my Dell Precison M65 and my Desktop, as well as suspend to disk does. Well, I have to mention that I wanted to use BFS, the brain fuck scheduler, to increase performance. This resulted in tuxonice freezing during  atomic copy when trying to hibernate, thus I had to use the CFS scheduler again.

Download the zen-sources 2.6.37_p20110325 patch here. Then apply the patch to the vanilla kernel sources avalable from kernel.org. Afterwards download my modified tuxonice patch from here: [download#64]. Then apply it and continue with the standard kernel building process.

For Gentoo users there is a more easy way: Download my modified zen-sources-overlay (including the patches) from [download#65] and extract it in /usr/local/portage. Be sure to include the following line in your /etc/make.conf:

PORTDIR_OVERLAY=”/usr/local/portage”

If you want to use tuxonice include toi in your USE-flags. Then emerge zen-sources and build the kernel as you wish. It would be nice if this USE-flag and the ebuild modification find their way into the portage tree.

Tuxonice is not officially supported in current zen-sources. So If you’re using the files above, don’t report any bugs to zen-sources.org. You are on your own.

For my Precision M65 I used the following kernel config: [download#66]

For more information on the zen-sources patchset see www.zen-sources.org.

best regards

Jürgen

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

iptables mirror target for kernel version 2.6.36

During my last kernel upgrade I recognized that the iptables mirror target I published here, here and here does not work anymore with kernel version 2.6.36. You can download the newer version for 2.6.36 and probably future kernels here:

[download#46] gplv3-127x51

To build the module, boot  the kernel you want to use the module with. Afterwards unpack the archive, run the compile.sh script and the install.sh script.

Now you may use the mirror target in place of the reject or drop target  in the INPUT, FORWARD and PREROUTING chains, like this in your firewall script:

$IPTABLES -A INPUT -j MIRROR

Beware: The use of the mirror target may have strange results, i.e. if you want to connect to the iptables protected machine, you may end up connecting to the local machine without recognizing it. It also may use much bandwith. Worst case: if you have two machines using this module they may end up playing pingpong. So you have been warned, use with caution and at your own risk. For more information see: MIRROR target.

Downloads for older kernel versions are below. Notice the version numbering 2.6.25 works for kernels up to 2.6.27. 2.6.28 also works for 2.6.29 and 2.6.30 kernels. The 2.6.13 version of the module should work up to kernel version 2.6.16.

[download#45]
[download#12]
[download#13]
[download#14]
[download#32]
[download#39]
gplv3-127x51

regards
Jürgen

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)
Loading...

iptables mirror target for kernel version 2.6.35

The iptables mirror target I published here and here does not work anymore with kernel version 2.6.35. You can download the newer version for 2.6.35 and probably future kernels here:

[download#39] gplv3-127x51

It should work with kernels since 2.6.31. To build the module, boot  the kernel you want to use the module with. Afterwards unpack the archive, run the compile.sh script and the install.sh script.

Now you may use the mirror target in place of the reject or drop target  in the INPUT, FORWARD and PREROUTING chains, like this in your firewall script:

$IPTABLES -A INPUT -j MIRROR

Beware: The use of the mirror target may have strange results, i.e. if you want to connect to the iptables protected machine, you may end up connecting to the local machine without recognizing it. It also may use much bandwith. Worst case: if you have two machines using this module they may end up playing pingpong. So you have been warned, use with caution and at your own risk. For more information see: MIRROR target.

Downloads for older kernel versions are below. Notice the version numbering 2.6.25 works for kernels up to 2.6.27. 2.6.28 also works for 2.6.29 and 2.6.30 kernels.

[download#12]
[download#13]
[download#14]
[download#32]
[download#45]
gplv3-127x51

regards
Jürgen

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)
Loading...

siteinfo

Translator