Bump from 2.6.37.2 to 2.6.37.6
patch-2.6.37.2-to-6_plus_v1_CFS_compaction_zcache_no-2.6.38
only for the following patch (with CFS): 2.6.37.2_plus_v1_CFS_compaction_zcache_new.patch
FIXME: does BFQ need an update ?
Update14:
BFQ version bump to v2
now working nicely with NCQ
please apply the incremental patch at the address mentioned at BFQ-v2 for 2.6.37Palatinux wrote:Speeds up an allmodconfig kernel compile with 5%. Even better
*click* <-- link to directory
Update13:
if you get: "kernel/sched.c
please revert: [tip:sched/core] sched: Untangle cpu-load and timekeeping code
TOI patches for BFS landing
edit:
TOI patches for CFS landing
updated some broken THP patches
Update12:
uploaded - *new*:
* THP (transparent huge pages) patches for CFS & BFS with zcache
to make THP work
* [revert] kswapd changes
* [revert] several patches of ck-patchset
had to be reverted
* includes the "latency problems with memory compaction?" fixes mentioned in Update11
Update11:
updated:
* broken-out (individual) patches "broken-out_2.6.37.2_plus_.7z"
hotfix
apply on top of all 2.6.37.2_plus_v1* patches that contain zcache (currently: ALL)
* 2.6.37.2_plus_v1_zcache_broken_btrfs-fix.patch (5.77 KB)
fix broken zcache: reverting "[PATCH] Allow sharing xvmalloc for zram and zcache"
fix btrfs support [upstream]: btrfs now should work fine with zcache enabled
md5sum:
e5cb9c722bc011c01d2a7f1d90839548 2.6.37.2_plus_v1_zcache_broken_btrfs-fix.patch
latency problems with memory compaction ?
try applying the following 2 patches [not tested yet]:
* [PATCH 1/2] mm: compaction: Minimise the time IRQs are disabled while isolating free pages
* [PATCH 2/2] mm: compaction: Minimise the time IRQs are disabled while isolating pages for migration
Update10:
cumulative update to 2.6.37.2_plus_v1
testing:
* currently only BFS & CFS (with zcache) builds patches available, tarball with broken-out patches, several diff-patches will be available soon
* compile-tested - boot-tested (the one with compaction)
* includes zcache but not TOI
* if there are problems on 32 bit try the one without compaction
bump to 2.6.37.2_plus_v1
reverted (from 2.6.37.1): [PATCH] Change wait_for_completion_*_timeout to return a signed long to make BFS compile
apply the patches on top of 2.6.37.2
**********************************************************************************************************************
Hi guys,
this originally was planned as a long-term stable kernel for me solely which maximal speed (throughput), data integrity (reliability) and interactivity
but as I already had shared liveCDs, kernel-patch(sets) and stuff with the community in the past:
here it is - the latest incarnation of my highly interactive patch(set) !
patch since I won't provide the broken-out patches - only the list of the patches included (will follow later)
**********************************************************************************************************************
DISCLAIMER: I'm in no way responsible for any data loss, data corruption, earthquakes, you having auras of the flying spaghetti monster or outcomes of any other kind
the patch(set) has been created with maximum data safety/integrity, interactivity and productivity in mind
**********************************************************************************************************************
Structure & Organization of the patch-set:
*-* you have the base-patch ("2.6.37.2_plus_v1-base-non_BFS-compaction-CFS-TOI-zcache-btrfs"), including the patches below "base-patch"
*-* which has the following excluded ("optional"):
** BFS
** CFS (from 2.6.38 )
** 2.6.38_stuff
** memory compaction
** TOI (tuxonice)
** zcache
** upstream btrfs changes since 2.6.37
*-* those can be added on top of that "base"
new patches:structure & organization of the patch-set wrote:
modular design
(cumulative optional patches for your convenience)
base-patch:
2.6.37.2_plus_v1-base-non_BFS-compaction-CFS-TOI-zcache-btrfs_new.patch (3.15 MB)
• 0 custom-flags
• 1 BFQ
• 2 dm-crypt multi-cpu
• 3 fadvise (v6), for rsync
• 4 ck-patchset
• 5 zram (+fixes) + zram & xvmalloc 64K page fixes and optimizations
• 6 incorrect unlikely & likely cleanups
• 7 io-less dirty throttling
• 8 vmscan: protect exectuable page from inactive list scan
• 9 mmu-preemptible (v6)
• 10 jhash 3
• 11 mm: Avoid possible deadlock caused by too_many_isolated()
• 12 fix __set_page_dirty_no_writeback() return value
• 13 some cfq, pm, reiserfs, gcc 4.5 inlining fixes & more
• 14 SFB network scheduler
• 15 squashfs + lzma support
• 16 usb mouse polling
• .
• 18 kswapd
• .
• 21 ext4 fixes
• .
• 23 memmove, cfq, smp, rtmutex fixes; usb-storage support for ums-realtek
• 24 ureadahead, radix_tree fixes
• .
• 26 coordinated flush requests
• 27 delayed tickless during load, ksoftirq fixes, uvesa/vesafb fixes; "remove 8 bytes of padding from block_device on 64bit builds"
• 28 inode data integrity patches [probably needs to be merged manually, when not applying patches in ladder order]
• 29 reiser4
• 30 slqb
• .
• 32 linux-phc
• 33 Improve drain pages performance on large systems; fbcondecor
optional:
• memory compaction, THP (transparent hugepages) [memory compaction and THP are mutually exclusive] or contain each other]
• BFS, CFS [both are mutually exclusive]
• some 2.6.38 fixes & changes
• TOI [zcache and TOI are mutually exclusive]
• latest btrfs fixes & changes
apply the patches on top of 2.6.37.2
**********************************************************************************************************************
Instruction/Info:
*) the patches apply cleanly to plain vanilla 2.6.37.2 from kernel.org (e.g. linux-2.6.37.2.tar.bz2)
*) I left out the EXTRAVERSION in Makefile out on purpose - so you can call it how you like
*) Don't get confused: KZTMEM got renamed to ZCACHE (the new zcache equals the old kztmem - and in the future Dan Magenheimer and Nitin Gupta will collaborate on it)
**********************************************************************************************************************
Contents/Parts:
(compaction == memory compaction included) (<-- link for more information)
(no-compaction == no memory compaction; might help to solve hangs, locks or other problems with 32bit)
(thp_V2_pt4 == Transparent huge pages included) (<-- link for more information)
**********************************************************************************************************************
ZCACHE patches
**********************************************************************************************************************
0) Patch-sets:
BFS patchsets (zcache):
* 2.6.37.2_plus_v1_BFS_compaction_zcache_new.patch (3.53 MB)
* 2.6.37.2_plus_v1_BFS_no-compaction_zcache.patch (3.5 MB)
* 2.6.37.2_plus_v1_BFS_thp_V2_pt4_zcache.patch (3.74 MB)
md5sums:
12b8a5e930a8361640f249ff463df22d 2.6.37.2_plus_v1_BFS_compaction_zcache_new.patch
efb62a16edae2b678d54597864c93503 2.6.37.2_plus_v1_BFS_no-compaction_zcache.patch
526babd488ae4ed8ac8b2227317757c5 2.6.37.2_plus_v1_BFS_thp_V2_pt4_zcache.patch
CFS patchsets (zcache) (mainly autogroup & other fixes & improvements [CFS from 2.6.38]):
* 2.6.37.2_plus_v1_CFS_compaction_zcache_new.patch (3.44 MB)
* 2.6.37.2_plus_v1_CFS_no-compaction_zcache_new.patch (3.41 MB)
* 2.6.37.2_plus_v1_CFS_thp_zcache_new.patch (3.7 MB)
md5sums:
a6e8b1c04fbe908706b1a430a37a87b6 2.6.37.2_plus_v1_CFS_compaction_zcache_new.patch
dac12c78906a1291626c7c6be7227774 2.6.37.2_plus_v1_CFS_no-compaction_zcache_new.patch
63528fb3e048a5c34eee166fb99ecaeb 2.6.37.2_plus_v1_CFS_thp_zcache_new.patch
CFS patchsets (zcache) with additional 2.6.38 changes (autogroup, other general 2.6.38 changes [security, hwmon, fpu, rcu, tsc, locking, etc.]):
+ ("20_extra_2.6.37.2_2.6.38-stuff.patch" in broken-out)
* 2.6.37.2_plus_v1_CFS_compaction_zcache-2.6.38-stuff_new.patch (3.65 MB)
* 2.6.37.2_plus_v1_CFS_no-compaction_zcache-2.6.38-stuff_new.patch (3.61 MB)
* 2.6.37.2_plus_v1_CFS_thp_V2_pt4_zcache-2.6.38-stuff.patch (3.86 MB)
md5sums:
2a9898f40626a3abf234c38658951883 2.6.37.2_plus_v1_CFS_compaction_zcache-2.6.38-stuff_new.patch
7086bc70bd952d6586a9aa9fb52930ff 2.6.37.2_plus_v1_CFS_no-compaction_zcache-2.6.38-stuff_new.patch
41e5751ef7530e9d36559e2e955247c9 2.6.37.2_plus_v1_CFS_thp_V2_pt4_zcache-2.6.38-stuff.patch
*hotfix*
apply on top of all 2.6.37.2_plus_v1* patches that contain zcache (currently: ALL)
* 2.6.37.2_plus_v1_zcache_broken_btrfs-fix.patch (5.77 KB)
fix broken zcache: reverting "[PATCH] Allow sharing xvmalloc for zram and zcache"
fix btrfs support [upstream]: btrfs now should work fine with zcache enabled
md5sum:
e5cb9c722bc011c01d2a7f1d90839548 2.6.37.2_plus_v1_zcache_broken_btrfs-fix.patch
**********************************************************************************************************************
TUXONICE patches
**********************************************************************************************************************
BFS patchsets (TOI (tuxonice):
* 2.6.37.2_plus_v1_BFS_compaction_TOI.patch (4 MB)
* 2.6.37.2_plus_v1_BFS_no-compaction_TOI_new.patch (4.06 MB)
* 2.6.37.2_plus_v1_BFS_thp_TOI.patch (4.2 MB)
md5sums:
6bb384eb39523e03b7c1ab37b49f2481 2.6.37.2_plus_v1_BFS_compaction_TOI.patch
f81d670af93f0a2fd99f34b219c325bd 2.6.37.2_plus_v1_BFS_no-compaction_TOI_new.patch
eb27bd621cf8ebd57631f3e10231506c 2.6.37.2_plus_v1_BFS_thp_TOI.patch
CFS patchsets (tuxonice) (mainly autogroup & other fixes & improvements [CFS from 2.6.38]):
* 2.6.37.2_plus_v1_CFS_compaction_TOI_new.patch (4.52 MB)
* 2.6.37.2_plus_v1_CFS_no-compaction_TOI_new.patch (4.41 MB)
* 2.6.37.2_plus_v1_CFS_thp_TOI_new.patch (4.52 MB)
md5sums:
39cbefd311db1af9afe8da0d55d9c602 2.6.37.2_plus_v1_CFS_compaction_TOI_new.patch
fb40f69bc792954807416ad2e04905fd 2.6.37.2_plus_v1_CFS_no-compaction_TOI_new.patch
9ef13b879b152e0398a9e45112d7e416 2.6.37.2_plus_v1_CFS_thp_TOI_new.patch
CFS patchsets (tuxonice) with additional 2.6.38 changes (autogroup, other general 2.6.38 changes [security, hwmon, fpu, rcu, tsc, locking, etc.]):
+ ("20_extra_2.6.37.2_2.6.38-stuff.patch" in broken-out)
* 2.6.37.2_plus_v1_CFS_compaction_TOI_2.6.38-stuff.patch (4.12 MB)
* 2.6.37.2_plus_v1_CFS_no-compaction_TOI_2.6.38-stuff_new.patch (4.18 MB)
* 2.6.37.2_plus_v1_CFS_thp_TOI_2.6.38-stuff.patch (4.32 MB)
md5sums:
b58c31dfb5ad3bff637788a532825256 2.6.37.2_plus_v1_CFS_compaction_TOI_2.6.38-stuff.patch
61f473874dba95af3f6e2c9aec08153f 2.6.37.2_plus_v1_CFS_no-compaction_TOI_2.6.38-stuff_new.patch
ef092245cc6141e9fc527a049f62cefe 2.6.37.2_plus_v1_CFS_thp_TOI_2.6.38-stuff.patch
**********************************************************************************************************************
1) broken-out (individual) patches
(numbers in between - left out - got merged in upstream meanwhile, don't apply or are not worthwhile for 2.6.37)
* broken-out_2.6.37.2_plus_.7z (1.9 MB)
md5sum:
6d1423c6a5adf1537cc07c82d0118bc1 broken-out_2.6.37.2_plus_.7z
some help for usage:
* n.a._broken_queue [folder]:
patches (or patch series) in this directory don't apply cleanly, don't apply to 2.6.37 (are for earlier or newer [>2.6.38] kernels), simply break the kernel or are under consideration
* applied, n.a., old [patches or folders beginning with this]:
they already have been applied by upstream (e.g. applied_2.6.37.1_...), are older revisions (old_ ...), or not applicable
* extra_ ...:
there are in total 2 patch(sets) and folders called that way:
4_ck-patchset -> extra_12_BFS [apply this after you've applied the other ck-patchset patches]
20_2.6.38_patches -> extra_7_CFS
2.6.38's CFS is a part of 2.6.38 changes but, like the changes from 2.6.38 can be applied separately
**********************************************************************************************************************
2) broken-out_sets_2.6.37.2_plus_ (sets of patches) [sets of patches are combined for your convenience & faster patching]
with these you can revert patch(sets) that you don't like or might indicate a problem caused by them:
* broken-out_sets_2.6.37.2_plus_.7z (234.18 KB)
md5sum:
090892e04d0f8d711fb775fe6c04dc3a broken-out_sets_2.6.37.2_plus_.7z
inside the archive:
md5sums
1a80bcc8bc8ad3dd787825a3f475e176 1_2.6.37.1_BFQ.patch
b3c499efe628b5ad32c948316c498b14 3_2.6.37.1_fadvise_v6.patch
b05fe41c053030a5eb8bc56bb93afc59 4_2.6.37.1_ck-patchset_only.patch
2a663a09ab47fafd84a348fb4081a83c 4_extra_2.6.37.2_plus_v1_BFS-sole.patch
31ea58b80fdd034e970d8c604d2fee25 5_2.6.37.1_zram_64K.patch
ce7949e3095761e465c730b35029ad92 6_2.6.37.1_unlikely-likely.patch
1c3abb9a9af127c702158a61d3cc5050 7_2.6.37.1_io-less_dirty-throttling.patch
6dcaf53c490487303afd67e030ddaed7 9_2.6.37.1_mmu-preempt_v6.patch
271dc49b329134f7650f36910b278970 17_2.6.37.2_mem-compaction_pt3.patch
01663344281fd94b902af2c9255b01f1 18_2.6.37.2_kswapd.patch
52d0fb256693792e6e7b53d96b09bdcc 20_2.6.37_CFS_pt3_autogroup-runtime_on-off_pre2.6.37.1-2.patch
b47e0fddb759f27dd15db4d53aa4eebb 20_extra_2.6.37.2_2.6.38-stuff.patch
fdaa4a9aa389e99900063b5f49878408 21_2.6.37.2_ext4_pt5_new.patch
65b37244962fa29af34398d9478fb764 28_2.6.37.2_plus_v1-_inode-integrity.patch
**********************************************************************************************************************
**********************************************************************************************************************
**********************************************************************************************************************
old patches:
**********************************************************************************************************************
Instruction/Info:
*) the patches apply cleanly to plain vanilla 2.6.37 from kernel.org (linux-2.6.37.tar.bz2)
*) I left out the EXTRAVERSION in Makefile out on purpose - so you can call it how you like
*) Don't get confused: KZTMEM got renamed to ZCACHE (the new zcache contains the main part of kztmem - and in the future Dan Magenheimer and Nitin Gupta will collaborate on it)
*) 2.6.37_plus_v15_zcache_coordinate-flush_inode-integrity includes kztmem for this to work you need to enable ZRAM, cleancache, frontswap and - of course - ZCACHE in the kernel-config and append zcache as a boot parameter
*) 2.6.37_plus_v15_coordinate-flush_inode-integrity_TOI obviously does NOT include zcache (not in its name) - it was somewhat hard to get it working with zcache, but tuxonice ("current-tuxonice-for-2.6.37.patch.bz2")
**********************************************************************************************************************
Update9 [for 2.6.37_plus_v16]:
*Hotfix* for zcache:
2.6.37_plus_v16_zcache_linux-next_fixes.patch (2.85 KB) (multiupload.com)
2.6.37_plus_v16_zcache_linux-next_fixes.patch (pastebin.com mirror)
contents:md5sum 2.6.37_plus_v16_zcache_linux-next_fixes.patch wrote: 9fc278096e07c8bde4af7ebb5ee823bb 2.6.37_plus_v16_zcache_linux-next_fixes.patch
* [PATCH] zcache: Fix build error when sysfs is not defined
* static int cleancache_get_key from linux-next
* fix for fs/super.c (will be included in next release of zcache) - kudos & thanks to Dan Magenheimer !
Update8: [bump to 2.6.37_plus_v16]
(re-uploaded & added missing patches to changelog and patch(set))
Everyone's advised to update to v16 !
(as always - this is a cumulative update of all patches from the beginning)
you can try to use btrfs with zcache but most likely a (yet to be fixed) BUG will be triggered: http://forums.gentoo.org/viewtopic-p-65 ... ml#6571799changes (for v15 -> v16):
"25 kztmem" --> "25 zcache"
2 [PATCH] staging: zcache: fix memory leak
3 [PATCH] zcache: Fix build error when sysfs is not defined
27 even more changes ->
13 fs: remove 8 bytes of padding from block_device on 64bit builds
14 (V2) Fix prlimit64 for suid_sgid processes
23 post-2.6.37-fixes -> 4 ext4 -> 12 new_v16
1 [patch] ext4: off by one check in ext4_groupinfo_create_slab()
3 [PATCH] jbd2: call __jbd2_log_start_commit with j_state_lock write locked
4 [PATCH] ext4: allow inode_readahead_blks=0 (linux-2.6.37)
20 2.6.38_patches -> 7 CFS -> 11 v16_sd_idle and first_idle_cpu
1 sched-Resolve-sd_idle-and-first_idle_cpu-Catch-22---v1
2 [PATCH] sched: Wholesale removal of sd_idle logic
20 2.6.38_patches -> 13_timer ->
5 (feb6) [GIT\ PULL\]\ timer\ fixes.txt
20 2.6.38_patches -> 15 x86\ platform ->
8 [PATCH\]\ x86\:\ Fix\ io_bitmap_ptr\ memory\ leak\ on\ copy_process\(\)
32 linux-phc_phc-intel
phc-intel-0.3.2.12.1-2.6.37.patch
"31 btrfs"
-> included latest btrfs changes from 2.6.37 to 2.6.38-rc4 (as of February 15th) (commit: c26a920373a983b52223eed5a13b97404d8b4158 (as of February 15th) in http://git.eu.kernel.org/?p=linux/kerne ... ;a=summary)
1 btrfs-2.6.38-rc4_feb-15th.patch
2 [PATCH] fix (latent?) memory corruption in btrfs_encode_fh()
upstream has been notified - no solution or patch to fix it has been posted yet
- more efficiency in CFS (cpu scheduler): removed cruft from HT scheduler
- more memory efficiency: fixed memory leaks in zcache, filesystem, and "fs: remove 8 bytes of padding from block_device on 64bit builds"
- latest btrfs from February 15th
- fixes for ext4 & ability to disable inode_readahead_blks (inode_readahead_blks=0)
- linux-phc (undervolting of the CPU to prolong battery runtime on note- and netbooks)
kudos to all devs making this possible !
**********************************************************************************************************************
1) with zcache (no tuxonice)
2.6.37_plus_v16_zcache_coordinate-flush_inode-integrity.7z (765.35 KB)
("highly interactive kernel with TOI and no zcache")
md5sum 2.6.37_plus_v16_zcache_coordinate-flush_inode-integrity.7z wrote: bb656907db085e51d1b98abfd632ec97 2.6.37_plus_v16_zcache_coordinate-flush_inode-integrity.7z
**********************************************************************************************************************md5sum 2.6.37_plus_v16_zcache_coordinate-flush_inode-integrity.patch wrote: 2a84edb7c174591b71ca7125f7136a24 2.6.37_plus_v16_zcache_coordinate-flush_inode-integrity.patch
2) with tuxonice (no zcache)
2.6.37_plus_v16_coordinate-flush_inode-integrity_TOI.7z (859.91 KB)
("highly interactive kernel similar to zen-kernel with TOI and no zcache")
md5sum 2.6.37_plus_v16_coordinate-flush_inode-integrity_TOI.7z wrote:
2ae53415d6d46a00716d7f90f8d46f7b 2.6.37_plus_v16_coordinate-flush_inode-integrity_TOI.7z
**********************************************************************************************************************md5sum 2.6.37_plus_v16_coordinate-flush_inode-integrity_TOI.patch wrote:
7862cef0d6f8ca35f825aebf5e572a1e 2.6.37_plus_v16_coordinate-flush_inode-integrity_TOI.patch
**********************************************************************************************************************
**********************************************************************************************************************
Acknowledgement:
*) zen-kernel.org - since this kernel patch includes a few of the modified patches from zen-kernel.org (so they're not directly from upstream)
*) kernel.org Linus Torvalds, and all the other kernel hackers out there
*) Edward Shishkin who keeps on pushing Reiser4
**********************************************************************************************************************
Request:
*) after you've downloaded and tested the patched kernel - please leave a comment about your experience with it
Thanks !
*) If you feel like honoring my work - it seems to be more and more common practice in the opensource community to donate:
(replace the first . (dot) with the @-sign)
Thanks !
**********************************************************************************************************************
Changelog:
edit:
bumped to v13
edit2:
finished list of included patches
edit3:
bumped to v14
ext4 fixes, no multiple page-io submission won't/shouldn't lead to data-corruption anymore when activated (disabled by default - will be enabled with >2.6.39) - enable via mblk_io_submit mount-option - ENABLE AT YOUR OWN RISK
added reiser4
added slqb (from git.zen-kernel.org repository)
added BFQ (from git.zen-kernel.org repository)
edit4:
bumped the patch(set) to v15
bumped kztmem (V1) to zcache (V2) [rename]
uvesafb, vesafb performance fixes
x86-32: Make sure the stack is set up before we use it
included are all changes since v14
edit5:
bumped to v16
most notable:
* fixed memory leaks (zcache, remove 8 bytes of padding from block_device on 64bit builds, x86: Fix io_bitmap_ptr memory leak on copy_process())
* CFS (cpu scheduler): "sched-Resolve-sd_idle-and-first_idle_cpu-Catch-22---v1" & "Wholesale removal of sd_idle logic"
* btrfs latest for 2.6.38-rc4 february 15th & [PATCH] fix (latent?) memory corruption in btrfs_encode_fh()
* linux-phc (over- and underclocking)
* fixes for ext4 & ability to disable inode_readahead_blks (inode_readahead_blks=0) [this might be really useful where the readahead is affecting performance negatively, e.g. in specific workloads on servers]
edit6:
2.6.37.2_plus_v1
modular design
first patches out: BFS with & without compaction and zcache
reverted (from 2.6.37.1): [PATCH] Change wait_for_completion_*_timeout to return a signed long to make BFS compile
edit7:
more CFS patches with & without compaction and zcache, additional 2.6.38-changes & fixes
edit8:
hotfix for zcache to work & function with btrfs [upstream]
edit9:
THP (transparent huge pages) builds for CFS & BFS for zcache




