[KERNEL][AGNi][CM] 29-11-2014 AGNi pureCM v4.4 (ULTRA SMOOTH) [F2FS/EXT4]

Status
Not open for further replies.
Search This thread

psndna88

Inactive Recognized Contributor
Dec 2, 2011
7,495
17,800
Mumbai
Xiaomi Mi 11i
(TESTED ONLY ON P3100)
Ag_Ni_Pure_CM_Banner.png


AGNi pureCM v4.4

Additions in this version on top of previous features:
  • added ROW-v4, V(R), BFQ I/O schedulers (Default: ROW) (DEFAULT: CFQ since v2.2)
  • added ZZmoove CPU governor as Default (supports hotplugging without any issues, configured for dual-core, with preconfigured profiles) (since v2.1)
  • implemented CPU OC and GPU OC support (Default: 1GHz CPU, 307MHz GPU)
  • implemented CPU UV interface (Default: -50mV)
  • GPU undervolted for lesser heat (-75mV)
  • added "Westwood" TCP congestion control
  • implemented mutable "Android logger" and "Kernel printk" interface (Default: off)
  • Supports inbuilt AGNi Control app for all KERNEL CONFIGURATION
  • added 256MB Zram with Snappy-v3 compression, 1st swap priority and swappiness=30 ( Replaced by LZ4 since v2.1)
  • preloadSWAP with swappiness=30 and 2nd priority [enable/disable] via the app (Default: off)
  • X-Box XPAD support - by user demand [enable/disable] via the app (Default: off) ( since v2.1)
  • KSM, cleancache, Zcache enabled
  • uses special busybox needed to support swap device priorities
  • kernel uses LZMA compression
  • Linux kernel 3.0.88 (since v2.2)
  • 25-07-2013 NEW FEATURES in v2.1 :-
    Updated latest relevant CM commits | LZ4 compression for Zram | ZZmoove-v0.6a CPU governor | Added selinux support(same as in latest CM) | CWM-FLASHABLE CPU-GPU_OC/UV boot failure reseter tool automatically placed on internal sdcard | X-Box XPAD support
  • 07-08-2013 Small Update in v2.2 :-
    Upstreamed Linux kernel from 3.0.31 to 3.0.88 | fixed Zcache working
  • 23-08-2013 Maintenance Update v2.3 (CM 10.1 & CM 10.2) :-
    Update ZZmoove CPU governor to 0.7a | Implement SAMSUNG OSRC exFAT kernel support v1.2.4 | fix earphone-mono sound upstream derp | updated to latest available PVR SGX540 v1.9@2291151 | increase ram size to 813 MB | includes all required blobs and new ducati
  • 04-09-2013 Minor update v2.3.1 ( CM 10.2 ) :-
    Update ZZmoove CPU governor to 0.7c | upstreamed kernel to 3.0.94 | GCChf arm-v7l 4.7.2 compiled cortex-a9 optimised | updated to latest CM 10.2 ramdisk
  • 29-09-2013 Update v2.3.3 (CM 10.1 & 10.2) :-
    Upstreamed kernel to 3.0.97 | Added 180 MHz lowest CPU scaling frequency | Implemented some Zram modifications with 4 zram devices support | updated BFQ I/O scheduler to v6r2 | implemented modified SIO I/O scheduler | Introducing AGNi Main user profiles (Extreme Battery Save / Battery Save / Normal / Gaming) & user can override settings at will | removed Mutable android & kernel logger interfaces (buggy for CMs) | drop & forget for init.d scripts (user doesnt need to set permissions manually) | expect performance increase
  • 20-10-2013 Small Compatibility Update v2.3.4 (CM 10.1, CM 10.2, BAM & PAC) :-
    Upstreamed kernel to 3.0.100 | Updated CM-10.1, CM-10.2, BAM & PAC ramdisks
  • 05-11-2013 v2.3.4a (CM 10.2, BAM & PAC) :-
    Upstreamed kernel to 3.0.101 | Added Ralink & Realtek 8187 USB WiFI NICs support | Added USB Ethernet Support | Added USB GSM/CDMA Dongle support | Disabled lot of kernel debugging ( performance boost ! )
  • 06-12-2013 v2.5 ( CM 10.2 SUPPORT ENDS HERE ) :-
    internal & external SD read_ahead_kb values user tweakable | Implemented Power Saving CPU load balancer (sched_mc_power_savings) | user changable Dual-Zram implementation(with equal swap priority) size and swappiness | appied youtube HD fixes | added some under-hood imrovements in sources | Added kernel zip variant for MIUI-4.2.2 support as well
    Generic framework "framework-2.jar" introduced in v2.4 and above (teamed up with Yank555, Googy, Teufel, AndiP, Temasek), this is to get rid of proprietory framework naming conventions and come up with an aligned approach between rom and kernel devs.
    So please do pass this message along to your favorite ROM devs, we have stopped supporting additional frameworks with specific ROM names.(Bam Rom & PAC to be precise) Note that only framework-2.jar is supported, (instead of framework-pac.jar or framework-bam.jar) you have to rename depending on ur rom
    Q: HOW CAN I RUN PAC/BAM rom with this kernel ??
    A: Ask rom dev to rename framework-bam.jar or framework-pac.jar to framework-2.jar
    AND / OR
    In Aroma File Manager in Recovery, rename framework-pac.jar or framework-bam.jar in /system/framework to framework-2.jar, clear Dalvik-Cache & reboot.
  • 06-12-2013 v3.0 ( CM 11 only ) :-
    internal & external SD read_ahead_kb values user tweakable | Implemented Power Saving CPU load balancer (sched_mc_power_savings) | user changable Dual-Zram implementation(with equal swap priority) size and swappiness | appied youtube HD fixes | added some under-hood imrovements in sources | applied latest samsung osrc updates
  • 19-12-2013 v3.1 ( CM 11 only ) :-
    Implemented Experimentally CPU boost driver | exFAT support now integated in kernel instead of built as kernel module
  • 06-01-2014 v3.2 ( CM 11 only ) :-
    Implemented dynamic Fsync control 1.2 | Implemented frandom | tweaked "random" (the default linux kernel RNG/PRNG device) | added Frandom lagfix-helper option in boeffla tweaks (/dev/random and /dev/urandom is replaced by symlinked /dev/frandom and /dev/erandom respecively = speeds up entropy generation without seeder app or rngd service) | Replaced "Boeffla Tweaks" app with my modified "AGNi Control" app (TESTED ART COMPATIBLE) [ THANKS to @HM.Carbide ]
  • 26-01-2014 Update v3.3 (ANY CM11 OFFICIAL/UNOFFICIAL P3100/P3110/P3113 :p:victory::victory::silly: ) :-
    ==> Introducing my "ANYROM" kernel flash method AKA "Kernel Patcher-v4.2"
    (Implementation of my old GALAXY ACE WORKS ) :-
    1. It extracts the installed kernel boot.img from the device
    2. It cracks it open to get the zImage and ramdisk
    3. it extracts this old ramdisk
    4. it removes any unwanted or conflicting elements with AGNi kernel (typically other custom CM kernel ramfs elements)
    5. It adds/removes/patches the files on this extracted ramdisk as necessary
    6. it packs this ramdisk and builds a new flashable boot.img using AGNi compiled zImage
    7. It places its log at /data/.AGNi which is refreshed on each pureCM kernel install
    8. This new boot.img is then flashed !!! Voila !
    NB: you wont find any boot.img in this installer zip, dont freak out :p
    also it wont work over non-standard structured boot.img kernels like the ones supporting dualboot so u need to reflash rom without wipe then flash this

    THIS "ANYROM" INSTALLATION METHOD DIFFERS WITH "ANYKERNEL" AS IT HAS THE FLEXIBILITY TO MODIFY RAMFS CONTENTS AS REQUIRED
    ==> Other updates:
    arm unaligned memory access | mmc: disable crc for better performance | arch/arm/vfp: change compile flags - Neon & hard-float support | ARM: Add optimised swahb32() byteswap helper | ARM-spinlock: use ticket algorithm for ARMv6+ locking implementation | ARM: L1 cache optimization | LMK minfree tweakable from AGNi Control and integrated with AGNi profiles | added Zen I/O scheduler | Proportional Rate Reduction for TCP | filter multicast packages while suspended
  • 10-03-2014 Update v3.4 (CM11)
    F2FS filesystem implementation ( /system /data /cache /preload automounted as ext4 or f2fs) | cfg80211: Fix memory leak | Revert "mmc: disable crc for better performance" to ensure data safety | existing Xbox Xpad,USB WLAN AND ETHERNET support is now integrated in kernel instead of modules | AGNi ANYROM installer updated to v4.3.1 (now uses awk too) | added sysrw & sysro | new compiled busybox v1.23 with expanded features (1.7MB sized at /sbin) | fix non boot on omni with f2fs | disabled background_gc for f2fs mounts | increased swap priority for preloadSWAP feature (now all zrams + preload swap will have same priority) | implemented async fsync | ARM: 7668/1: fix memset-related crashes caused by recent GCC (4.7.2) optimizations | backport: smp: patches from mainline 3.5 to hopefully help with hotpluging | backport SLUB from Linux 3.3 (thanks to faux123) | Disable Dynamic Fsync (seems to cause issues with Async Fsync) | switch to GCC 4.8.3 linaro cortex-a9 optimised toolchain
  • 12-03-2014 Update v3.5 (CM11)
    applied some missing f2fs commits | changed some mount options (now better performance and snappy system) | fixed slow boot animation issue | v3.5 REV2 : fixed non-execution of init.d scripts & updated Zzmoove to 0.7d
  • 17-03-2014 Update v3.6 (CM11)
    applied important f2fs commits | fixed "ENCRYPTION UNSUCCESSFULL" error when using /system as ext4 and /data as f2fs ( now u can use anyhow as per u like) | completely removed ASYNC_FSYNC | added option to enable/disable dynamic fsync | added option to enable/disable on-boot filesystems checking (ext4/f2fs) log placed on internal storage | added option to delete battery stats on each boot | implemented AROMA GUI installer v2.70 RC2 | added option to set selinux permissive or enforcing | [REV2: optimised fstab handling and its execution for ext4/f2fs support | FIXED POWER-OFF Charging Animation]
  • 20-03-2014 Update v3.7 (CM11)
    Rectify some cpu freq scaling issues & no more freezes on hotplug governor | removed cpuboost driver | tweaked some HOTPLUG tunables | set ROW/HOTPLUG as defaults | reduced F2FS active_logs from 6 to 2 | optimised FS_checker code | changed auto-installation method of AGNi Control app | [v3.7 R2: disabled Dynamic Fsync by default | set internalsd and externalsd read_ahead_kb to 512 & 1024 respectively | disabled some build.prop mods ] | [v3.7 R3: LMK updated | added ExternalSd USB UMS switching option | added all inbuilt Zzmoove v0.8 profiles | set zzmoove ZaneZam-Optimised profile as default with better hotpluging ]
  • 13-04-2014 Update v3.8 (CM11)
    mm/page_io: remove duplicated compressed pages in memory | logger: reduce reserved memory | cpufreq: Manage only online cpus
  • 17-04-2014 Update v3.9 (CM11)
    another round of debugging disabled , reverted some P3110 Jb Update 1 files (attempted fixing battery drain)
  • 04-05-2014 Update v4.0 (CM11)
    zram, zsmalloc, zcache, cleancache updated from 3.9 | updated lz4, lzo compressor/decompressor and crc32 algorithm | compiled by GCChf 4.9.1 linaro toolchain | reverted some commits | sync CM kernel updates (dm commits)
  • 10-07-2014 Update v4.1 (CM11)
    108 newer f2fs commits | 28 ARM specific commits | sync cm kernel sources | Implemented SLQB memory allocator | support for kernel mode NEON | arm/crypto: Add optimized AES and SHA1 routines | Enable ARCH_POWER | reduced active zrams to one and set 200MB default size | Zzmoove v0.9_beta2 | fs/exfat: update v1.2.5 to v1.2.7 (SAMSUNG OSRC SEA KK N7100XXUFND4) | Implement co-existing versions of SAMSUNG's sdcard filesystem - sdcardfs (Android 4.3 ) - sdcardfskk (Android 4.4+) | SAMSUNG OSRC SEA KK N7100XXUFND4 HID KK Updates | AGNi sdcard1<-->sdcard0 Switcher v1.3 (extsd2intsd replacement for CM using sdcardfs) | fixed Agni Control settings restore and added forced init.d execution option without reboot | fix derp arch/arm/mm/cache-l2x0.c | Fix CVE-2014-3153 | Boeffla-Sound: Engine 1.6.6 | Implement Update BFQ v6r2 -> v7r2 I/O sched | Introduce timer slack controller | fs: vfat: reduce the worst case latencies | Backport AIO from Linux 3.6.x | pegasusq modifications with firelock(default governor now) | backport Intelliactive cpu governor | bcmdhd: Enable wifi mac address changing | [ 15-07-2014 R2 : attempted fix memory related issues ]
  • 17-07-2014 Update v4.2 (CM11)
    video: sii9234: dynamically register and unregister input device | integrated dock keyboard support to kernel without module
  • 01-11-2014 Update v4.3 (ALL AOSP)
    True CD-ROM emulation" support | Implement USB HID Keyboard/Mouse ROLE support for Android device (https://github.com/pelya/android-keyboard-gadget) needs supported APK from HERE | drivers/cpufreq/cpufreq_lulzactiveq.c : set dual core mode and fix scaling (Andi) | ext4: remove some debugging functions by Samsung & sync with kernel.org | fs: default to noatime/nodiratime | Input: Send events one packet at a time | deadline: Allow 0ms deadline latency, increase the read speed | ZZmoove Version 1.0 beta1 | [PATCH] nohz: Fix update_ts_time_stat idle accounting (ZaneZam) | fs/exfat: update to v1.2.9 | Boeffla Sound v1.6.7| net: Performance fix for process_backlog | ext4: Speedup WB_SYNC_ALL pass called from sync | freezer: shorten freezer sleep time using exponential backoff | irq: Set CPU affinity right on thread creation | cpuidle: remove cross-cpu IPI by new latency request | nohz: Reduce overhead under high-freq idling patterns | ARM: smp: Wait just 1 second for other CPU to halt | timer: optimize apply_slack() | cpuidle: make a single register function for all | cpufreq: Fix policy stucking if user & kernel min/max don't overlap | cpuidle: Fix NULL pointer dereference during hotplug | Migrate to GCChf arm-cortex-a9 4.9.2 toolchain | ksm: check and skip page, if it is already scanned (Pradeep Sawlani) | ksm: Provide support to use deferred timers for scanner thread | Asynchronous I/O latency to a solid-state disk greatly increased | sdhci: deploy delay on host power down | mmc: Disregard pending irqs in sdio | ext4: Add support for FIDTRIM, a best-effort ioctl for deep discard trim | pegasusq: enable io_is_busy by default | bdi: allow block devices to say that they require stable page writes | ASoC: jack: Use power efficient workqueue | ASoC: pcm: Use the power efficient workqueue for delayed powerdown | ASoC: pcm: Use the power efficient workqueue for delayed powerdown | fbcon: queue work on power efficient wq | block: queue work on power efficient wq | PHYLIB: queue work on system_power_efficient_wq | workqueue: Add system wide power_efficient workqueues | workqueues: Introduce new flag | WQ_POWER_EFFICIENT for power oriented workqueues
  • 29-11-2014 Update v4.4 (ALL AOSP)
    Migrated to GCChf linaro 4.9.3 toolchain | attempted battery drain fix by 1N4148

Regarding AGNi sdcard1<-->sdcard0 Switcher when enabled:
- original sdcard0 obb data is available at /data/media/obb
- new sdcard1 obb data is available at /mnt/shell/emulated/Android/obb
- original sdcard1 userdata is available at /mnt/shell/emulated
you can move data between these as required.

KNOWN BUG:
Boeffla sound has minor incompatibily issue which makes its equalizer ineffective and its DAC-direct option needs to be kept ON for sound output


NOTE: CM 11 variant will set SELINUX PERMISSIVE


================================================================================
WHAT IS Flash-Friendly File System (F2FS)?
================================================================================

NAND flash memory-based storage devices, such as SSD, eMMC, and SD cards, have
been equipped on a variety systems ranging from mobile to server systems. Since
they are known to have different characteristics from the conventional rotating
disks, a file system, an upper layer to the storage device, should adapt to the
changes from the sketch in the design level.

F2FS is a file system exploiting NAND flash memory-based storage devices, which
is based on Log-structured File System (LFS). The design has been focused on
addressing the fundamental issues in LFS, which are snowball effect of wandering
tree and high cleaning overhead.

Since a NAND flash memory-based storage device shows different characteristic
according to its internal geometry or flash memory management scheme, namely FTL,
F2FS and its tools support various parameters not only for configuring on-disk
layout, but also for selecting allocation and cleaning algorithms.


FURTHER READING:
https://github.com/psndna88/AGNI-pu...-N7100-4.3/Documentation/filesystems/f2fs.txt
https://lwn.net/Articles/518988/

F2FS FORMAT TOOLS: http://d-h.st/users/psndna88/?fld_id=34001#files (formating /DATA with these will wipe your internal storage in single shot !)
EXT4 FORMAT TOOLS: http://d-h.st/users/psndna88/?fld_id=34000#files (formating /DATA with these will wipe your internal storage in single shot !)

PSN TWRP v2.7.0.x (F2FS Modified):- (NEW 2.7.0.3 UPLOADED)

P3100 : HERE
P311x : HERE


TWRP Drawbacks:
1: it doesnt ask which filesystem to format, but if u have ext4 previously, wiping that partiton is done in ext4 and same with f2fs, so u have to use above tools once atleast for partitons of ur choice
2: it doesnt support restore of ext4 backups to f2fs formatted partitions, so u have to clean wipe to fully convert to f2fs (titanium backup is ur best friend)
3: I SUGGEST MANUALLY COPYING INTERNAL STORAGE DATA TO PC and making titanium backups before trying to format /data to f2fs
4: to flash rom to f2fs formatted recovery you have to edit the updater-script and put a # before the "format" line and # before all unmount lines and manually mount system and data in twrp prior to flashing any zip. (i will post detailed updater-script modifications lateron)
5: on formatting /data to f2fs from ext4 or vice versa, twrp fails to mount /data, reboot to recovery again and all will be fine

App Screenshot: (v2.0)

Screenshot_2014_01_03_19_52_25.png



About LZ4 compression/decompression:
LZ4 is a very fast lossless compression algorithm, providing compression speed at 300 MB/s per core, scalable with multi-cores CPU. It also features an extremely fast decoder, with speed in GB/s per core, typically reaching RAM speed limits on multi-core systems.
ADVANTAGE OF LZ4 OVER SNAPPY = higher speed with almost same marginal cpu usage for Zram

Speed_Compare_LZ4.jpg



KERNEL DOWNLOADS :-

DOWNLOAD HERE v4.3+

NEWER CM11 VERSION (v4.2):
CLICK HERE

NEWER CM11 VERSION (v4.1_R2):
CLICK HERE

NEWER CM11 VERSION (v4.1):
CLICK HERE

OLDER CM11 VERSIONS (v3.3 to v4.0) :
HERE OR CLICK HERE

OLDER CM11 VERSIONS :
CLICK HERE

CM10.2 Supporting VERSION (v2.5) :
CLICK HERE


XDA:DevDB Information
AGNi Kernel, Kernel for the Samsung Galaxy Tab 2

Contributors
psndna88
Source Code: https://github.com/psndna88/AGNi-pureCM

Kernel Special Features: Based on Cyanogenmod espresso10 Sources, upstreamed to 3.0.101 with selected picked mods/patches to be near to stock as possible.

Version Information
Status: Stable

Created 2014-07-10
Last Updated 2014-11-29
 
Last edited:

richardkemp

Senior Member
Dec 12, 2005
162
19
Hi can you please explain these in more detail:

> Kernel Samepage Merging enabled
> cleancache enabled
> /preload as SWAP-PARTITON activated


Also, why do you feel interactive/CFQ is the best combination of governors?

Cheers.
 

psndna88

Inactive Recognized Contributor
Dec 2, 2011
7,495
17,800
Mumbai
Xiaomi Mi 11i
Hi can you please explain these in more detail:

> Kernel Samepage Merging enabled
> cleancache enabled
> /preload as SWAP-PARTITON activated


Also, why do you feel interactive/CFQ is the best combination of governors?

Cheers.

Kernel Samepage Merging:
It lets the system share identical memory pages among different processes or virtual machines. This is done by scanning through the memory finding duplicate pages. The duplicate pair is then merged into a single page, and mapped into both original locations. The page is also marked as "copy-on-write", so the kernel will automatically separate them again should one process modify its data.
more info

Cleancache: <Enable cleancache driver to cache clean pages if tmem is present>
Cleancache can be thought of as a page-granularity victim cache for clean pages that the kernel's pageframe replacement algorithm (PFRA) would like to keep around, but can't since there isn't enough memory. So when the PFRA "evicts" a page, it first attempts to use cleancache code to put the data contained in that page into "transcendent memory", memory that is not directly accessible or addressable by the kernel and is of unknown and possibly time-varying size. And when a cleancache-enabled filesystem wishes to access a page in a file on disk, it first checks cleancache to see if it already contains it; if it does, the page is copied into the kernel and a disk access is avoided. When a transcendent memory driver is available (such as zcache), a significant I/O reduction may be achieved. When none is available, all cleancache calls are reduced to a single pointer-compare-against-NULL resulting in a negligible performance hit.
WHAT IS TRANSCENDENT MEMORY?
Transcendent Memory (tmem for short) provides a new approach for improving the utilization of physical memory in a virtualized** environment by claiming underutilized memory in a system and making it available where it is most needed. From the perspective of an operating system, tmem is fast pseudo-RAM of indeterminate and varying size that is useful primarily when real RAM is in short supply and is accessible only via a somewhat quirky copy-based interface.

/preload as SWAP-PARTITON activated
Samsung has created specific partition in high end android devices (like Tab2, S3, Note2 etc) in its internal memory to store its default demo videos and wallpapers...
on P31xx its of 512MB size located at /dev/block/mmcblk0p11 and is mounted as /preload on stock roms
Also in stock rom Odin files(.tar.md5), hidden.img comtains these media and is written into /preload partition
It just stores those media and is of no other use.. and no one uses those wallpapers and samsung videos anway.
SO, WE MAKE BETTER USE OF IT BY UNMOUNTING /preload AND FORMATTING IT AS SWAP-PARTITON (mkswap) AND ENABLING SWAPPING ON IT..this gives better ram utilisation by giving more space to ram management to move unused memory blocks when not needed.

Q. Why do you feel interactive/CFQ is the best combination of governors?
A: i feel that its default configuration from Samsung and it gives good balance(not best) between performance and battery utilisation.. again, we need to experiment more on different governors/schedulers
 
Last edited:

richardkemp

Senior Member
Dec 12, 2005
162
19
Thanks for the informative response!

For others, this is how I enabled swap on the resources partition. In a terminal:

# su
# mkswap /dev/block/mmcblk0p11
# swapon /dev/block/mmcblk0p11

psndna88, is this swap use controlled by /proc/sys/vm/* ? Changing swappiness there doesn't seem to have any effect, and my swap never has more than 50mb in it.
 

psndna88

Inactive Recognized Contributor
Dec 2, 2011
7,495
17,800
Mumbai
Xiaomi Mi 11i
Thanks for the informative response!

For others, this is how I enabled swap on the resources partition. In a terminal:

# su
# mkswap /dev/block/mmcblk0p11
# swapon /dev/block/mmcblk0p11

psndna88, is this swap use controlled by /proc/sys/vm/* ? Changing swappiness there doesn't seem to have any effect, and my swap never has more than 50mb in it.

swap usage will increase when more apps are simultaneously runnning in background and are competing for more than available ram space !!
 

dictionary

Senior Member
Dec 3, 2009
4,586
1,597
Re: [KERNEL][AGNi][CM 4.2.2] AGNi pureCM kernel

Can you also add fiops as an I/O governor?
 

Tsjoklat

Senior Member
Apr 5, 2010
1,705
2,386
Good job. This kernel is working very smoothly with todays nightly build of cm 10.1. The swap partition idea on mmcblk0p11 is a really good one.
 

psndna88

Inactive Recognized Contributor
Dec 2, 2011
7,495
17,800
Mumbai
Xiaomi Mi 11i

Skazzy3

Senior Member
Jan 9, 2012
2,271
1,053
Re: [KERNEL][AGNi][CM 4.2.2] AGNi pureCM kernel

Edit: does not work on P3113 with March 17 build and Tablet UI mod.
Touch screen and gyro not working.
 
Last edited:
  • Like
Reactions: psndna88

Adi Shakthi

Senior Member
Oct 5, 2011
4,928
16,143
Everywhere
Re: [KERNEL][AGNi][CM 4.2.2] AGNi pureCM kernel

its same in working
(ive been using it weeks ago on I9300 on its mmcblk0p10 same 512 mb samsung hidden from us )

Sent from I9300 Jellybam v6.7 4.2.2 (CM10.1+AOKP+PAC) + Yank Kernel v1.5 with latest Mali 400MP driver support.

Yes psn...
I think we have implemented this feature on 8th march...in Gtab2....I still remember when we all testing that.....:D


★If You Feel Am Helping Raise My Thanks Meter To Infinity By Hitting Thanks Button★
 
Last edited:

Menelkir

Senior Member
Jul 30, 2010
1,002
313
47
Porto Alegre
menelkir.itroll.org
Re: [KERNEL][AGNi][CM 4.2.2] AGNi pureCM kernel

I have two suggestions (if possible to implement)

Governor: Intellidemand
Scheduler: FIOPS

I got good results with this two pieces in my HTC One S, maybe can be good for our tabs too.
 

hwwr

Senior Member
Jul 28, 2009
329
20
Hi guys need some help here.

I am trying to do the swap as mentioned my users here.
It does increase efficiency rite?

Here is what i did:

Launched Terminal Emulator
Typed
# su
# mkswap /dev/block/mmcblk0p11
# swapon /dev/block/mmcblk0p11

Are my steps correct?
And how do i check if it has ardy been swap.

Each line that i typed into the emulator, there is not response. As in there's no acknowledgement or something.

THank you
 

rraaka

Senior Member
Sep 8, 2010
2,608
671
you guys are genius ! and you provide for the whole community-- CM, TW, all relevant models P31xx .

in other communities i find a big chasm between TW and CM sub- communties :(
 
  • Like
Reactions: Adi Shakthi

Adi Shakthi

Senior Member
Oct 5, 2011
4,928
16,143
Everywhere
Re: [KERNEL][AGNi][CM 4.2.2] AGNi pureCM kernel

you guys are genius ! and you provide for the whole community-- CM, TW, all relevant models P31xx .

in other communities i find a big chasm between TW and CM sub- communties :(

Which rom u use now.....bro....:D

★If You Feel Am Helping Raise My Thanks Meter To Infinity By Hitting Thanks Button★
 
Status
Not open for further replies.

Top Liked Posts

  • There are no posts matching your filters.
  • 82
    (TESTED ONLY ON P3100)
    Ag_Ni_Pure_CM_Banner.png


    AGNi pureCM v4.4

    Additions in this version on top of previous features:
    • added ROW-v4, V(R), BFQ I/O schedulers (Default: ROW) (DEFAULT: CFQ since v2.2)
    • added ZZmoove CPU governor as Default (supports hotplugging without any issues, configured for dual-core, with preconfigured profiles) (since v2.1)
    • implemented CPU OC and GPU OC support (Default: 1GHz CPU, 307MHz GPU)
    • implemented CPU UV interface (Default: -50mV)
    • GPU undervolted for lesser heat (-75mV)
    • added "Westwood" TCP congestion control
    • implemented mutable "Android logger" and "Kernel printk" interface (Default: off)
    • Supports inbuilt AGNi Control app for all KERNEL CONFIGURATION
    • added 256MB Zram with Snappy-v3 compression, 1st swap priority and swappiness=30 ( Replaced by LZ4 since v2.1)
    • preloadSWAP with swappiness=30 and 2nd priority [enable/disable] via the app (Default: off)
    • X-Box XPAD support - by user demand [enable/disable] via the app (Default: off) ( since v2.1)
    • KSM, cleancache, Zcache enabled
    • uses special busybox needed to support swap device priorities
    • kernel uses LZMA compression
    • Linux kernel 3.0.88 (since v2.2)
    • 25-07-2013 NEW FEATURES in v2.1 :-
      Updated latest relevant CM commits | LZ4 compression for Zram | ZZmoove-v0.6a CPU governor | Added selinux support(same as in latest CM) | CWM-FLASHABLE CPU-GPU_OC/UV boot failure reseter tool automatically placed on internal sdcard | X-Box XPAD support
    • 07-08-2013 Small Update in v2.2 :-
      Upstreamed Linux kernel from 3.0.31 to 3.0.88 | fixed Zcache working
    • 23-08-2013 Maintenance Update v2.3 (CM 10.1 & CM 10.2) :-
      Update ZZmoove CPU governor to 0.7a | Implement SAMSUNG OSRC exFAT kernel support v1.2.4 | fix earphone-mono sound upstream derp | updated to latest available PVR SGX540 v1.9@2291151 | increase ram size to 813 MB | includes all required blobs and new ducati
    • 04-09-2013 Minor update v2.3.1 ( CM 10.2 ) :-
      Update ZZmoove CPU governor to 0.7c | upstreamed kernel to 3.0.94 | GCChf arm-v7l 4.7.2 compiled cortex-a9 optimised | updated to latest CM 10.2 ramdisk
    • 29-09-2013 Update v2.3.3 (CM 10.1 & 10.2) :-
      Upstreamed kernel to 3.0.97 | Added 180 MHz lowest CPU scaling frequency | Implemented some Zram modifications with 4 zram devices support | updated BFQ I/O scheduler to v6r2 | implemented modified SIO I/O scheduler | Introducing AGNi Main user profiles (Extreme Battery Save / Battery Save / Normal / Gaming) & user can override settings at will | removed Mutable android & kernel logger interfaces (buggy for CMs) | drop & forget for init.d scripts (user doesnt need to set permissions manually) | expect performance increase
    • 20-10-2013 Small Compatibility Update v2.3.4 (CM 10.1, CM 10.2, BAM & PAC) :-
      Upstreamed kernel to 3.0.100 | Updated CM-10.1, CM-10.2, BAM & PAC ramdisks
    • 05-11-2013 v2.3.4a (CM 10.2, BAM & PAC) :-
      Upstreamed kernel to 3.0.101 | Added Ralink & Realtek 8187 USB WiFI NICs support | Added USB Ethernet Support | Added USB GSM/CDMA Dongle support | Disabled lot of kernel debugging ( performance boost ! )
    • 06-12-2013 v2.5 ( CM 10.2 SUPPORT ENDS HERE ) :-
      internal & external SD read_ahead_kb values user tweakable | Implemented Power Saving CPU load balancer (sched_mc_power_savings) | user changable Dual-Zram implementation(with equal swap priority) size and swappiness | appied youtube HD fixes | added some under-hood imrovements in sources | Added kernel zip variant for MIUI-4.2.2 support as well
      Generic framework "framework-2.jar" introduced in v2.4 and above (teamed up with Yank555, Googy, Teufel, AndiP, Temasek), this is to get rid of proprietory framework naming conventions and come up with an aligned approach between rom and kernel devs.
      So please do pass this message along to your favorite ROM devs, we have stopped supporting additional frameworks with specific ROM names.(Bam Rom & PAC to be precise) Note that only framework-2.jar is supported, (instead of framework-pac.jar or framework-bam.jar) you have to rename depending on ur rom
      Q: HOW CAN I RUN PAC/BAM rom with this kernel ??
      A: Ask rom dev to rename framework-bam.jar or framework-pac.jar to framework-2.jar
      AND / OR
      In Aroma File Manager in Recovery, rename framework-pac.jar or framework-bam.jar in /system/framework to framework-2.jar, clear Dalvik-Cache & reboot.
    • 06-12-2013 v3.0 ( CM 11 only ) :-
      internal & external SD read_ahead_kb values user tweakable | Implemented Power Saving CPU load balancer (sched_mc_power_savings) | user changable Dual-Zram implementation(with equal swap priority) size and swappiness | appied youtube HD fixes | added some under-hood imrovements in sources | applied latest samsung osrc updates
    • 19-12-2013 v3.1 ( CM 11 only ) :-
      Implemented Experimentally CPU boost driver | exFAT support now integated in kernel instead of built as kernel module
    • 06-01-2014 v3.2 ( CM 11 only ) :-
      Implemented dynamic Fsync control 1.2 | Implemented frandom | tweaked "random" (the default linux kernel RNG/PRNG device) | added Frandom lagfix-helper option in boeffla tweaks (/dev/random and /dev/urandom is replaced by symlinked /dev/frandom and /dev/erandom respecively = speeds up entropy generation without seeder app or rngd service) | Replaced "Boeffla Tweaks" app with my modified "AGNi Control" app (TESTED ART COMPATIBLE) [ THANKS to @HM.Carbide ]
    • 26-01-2014 Update v3.3 (ANY CM11 OFFICIAL/UNOFFICIAL P3100/P3110/P3113 :p:victory::victory::silly: ) :-
      ==> Introducing my "ANYROM" kernel flash method AKA "Kernel Patcher-v4.2"
      (Implementation of my old GALAXY ACE WORKS ) :-
      1. It extracts the installed kernel boot.img from the device
      2. It cracks it open to get the zImage and ramdisk
      3. it extracts this old ramdisk
      4. it removes any unwanted or conflicting elements with AGNi kernel (typically other custom CM kernel ramfs elements)
      5. It adds/removes/patches the files on this extracted ramdisk as necessary
      6. it packs this ramdisk and builds a new flashable boot.img using AGNi compiled zImage
      7. It places its log at /data/.AGNi which is refreshed on each pureCM kernel install
      8. This new boot.img is then flashed !!! Voila !
      NB: you wont find any boot.img in this installer zip, dont freak out :p
      also it wont work over non-standard structured boot.img kernels like the ones supporting dualboot so u need to reflash rom without wipe then flash this

      THIS "ANYROM" INSTALLATION METHOD DIFFERS WITH "ANYKERNEL" AS IT HAS THE FLEXIBILITY TO MODIFY RAMFS CONTENTS AS REQUIRED
      ==> Other updates:
      arm unaligned memory access | mmc: disable crc for better performance | arch/arm/vfp: change compile flags - Neon & hard-float support | ARM: Add optimised swahb32() byteswap helper | ARM-spinlock: use ticket algorithm for ARMv6+ locking implementation | ARM: L1 cache optimization | LMK minfree tweakable from AGNi Control and integrated with AGNi profiles | added Zen I/O scheduler | Proportional Rate Reduction for TCP | filter multicast packages while suspended
    • 10-03-2014 Update v3.4 (CM11)
      F2FS filesystem implementation ( /system /data /cache /preload automounted as ext4 or f2fs) | cfg80211: Fix memory leak | Revert "mmc: disable crc for better performance" to ensure data safety | existing Xbox Xpad,USB WLAN AND ETHERNET support is now integrated in kernel instead of modules | AGNi ANYROM installer updated to v4.3.1 (now uses awk too) | added sysrw & sysro | new compiled busybox v1.23 with expanded features (1.7MB sized at /sbin) | fix non boot on omni with f2fs | disabled background_gc for f2fs mounts | increased swap priority for preloadSWAP feature (now all zrams + preload swap will have same priority) | implemented async fsync | ARM: 7668/1: fix memset-related crashes caused by recent GCC (4.7.2) optimizations | backport: smp: patches from mainline 3.5 to hopefully help with hotpluging | backport SLUB from Linux 3.3 (thanks to faux123) | Disable Dynamic Fsync (seems to cause issues with Async Fsync) | switch to GCC 4.8.3 linaro cortex-a9 optimised toolchain
    • 12-03-2014 Update v3.5 (CM11)
      applied some missing f2fs commits | changed some mount options (now better performance and snappy system) | fixed slow boot animation issue | v3.5 REV2 : fixed non-execution of init.d scripts & updated Zzmoove to 0.7d
    • 17-03-2014 Update v3.6 (CM11)
      applied important f2fs commits | fixed "ENCRYPTION UNSUCCESSFULL" error when using /system as ext4 and /data as f2fs ( now u can use anyhow as per u like) | completely removed ASYNC_FSYNC | added option to enable/disable dynamic fsync | added option to enable/disable on-boot filesystems checking (ext4/f2fs) log placed on internal storage | added option to delete battery stats on each boot | implemented AROMA GUI installer v2.70 RC2 | added option to set selinux permissive or enforcing | [REV2: optimised fstab handling and its execution for ext4/f2fs support | FIXED POWER-OFF Charging Animation]
    • 20-03-2014 Update v3.7 (CM11)
      Rectify some cpu freq scaling issues & no more freezes on hotplug governor | removed cpuboost driver | tweaked some HOTPLUG tunables | set ROW/HOTPLUG as defaults | reduced F2FS active_logs from 6 to 2 | optimised FS_checker code | changed auto-installation method of AGNi Control app | [v3.7 R2: disabled Dynamic Fsync by default | set internalsd and externalsd read_ahead_kb to 512 & 1024 respectively | disabled some build.prop mods ] | [v3.7 R3: LMK updated | added ExternalSd USB UMS switching option | added all inbuilt Zzmoove v0.8 profiles | set zzmoove ZaneZam-Optimised profile as default with better hotpluging ]
    • 13-04-2014 Update v3.8 (CM11)
      mm/page_io: remove duplicated compressed pages in memory | logger: reduce reserved memory | cpufreq: Manage only online cpus
    • 17-04-2014 Update v3.9 (CM11)
      another round of debugging disabled , reverted some P3110 Jb Update 1 files (attempted fixing battery drain)
    • 04-05-2014 Update v4.0 (CM11)
      zram, zsmalloc, zcache, cleancache updated from 3.9 | updated lz4, lzo compressor/decompressor and crc32 algorithm | compiled by GCChf 4.9.1 linaro toolchain | reverted some commits | sync CM kernel updates (dm commits)
    • 10-07-2014 Update v4.1 (CM11)
      108 newer f2fs commits | 28 ARM specific commits | sync cm kernel sources | Implemented SLQB memory allocator | support for kernel mode NEON | arm/crypto: Add optimized AES and SHA1 routines | Enable ARCH_POWER | reduced active zrams to one and set 200MB default size | Zzmoove v0.9_beta2 | fs/exfat: update v1.2.5 to v1.2.7 (SAMSUNG OSRC SEA KK N7100XXUFND4) | Implement co-existing versions of SAMSUNG's sdcard filesystem - sdcardfs (Android 4.3 ) - sdcardfskk (Android 4.4+) | SAMSUNG OSRC SEA KK N7100XXUFND4 HID KK Updates | AGNi sdcard1<-->sdcard0 Switcher v1.3 (extsd2intsd replacement for CM using sdcardfs) | fixed Agni Control settings restore and added forced init.d execution option without reboot | fix derp arch/arm/mm/cache-l2x0.c | Fix CVE-2014-3153 | Boeffla-Sound: Engine 1.6.6 | Implement Update BFQ v6r2 -> v7r2 I/O sched | Introduce timer slack controller | fs: vfat: reduce the worst case latencies | Backport AIO from Linux 3.6.x | pegasusq modifications with firelock(default governor now) | backport Intelliactive cpu governor | bcmdhd: Enable wifi mac address changing | [ 15-07-2014 R2 : attempted fix memory related issues ]
    • 17-07-2014 Update v4.2 (CM11)
      video: sii9234: dynamically register and unregister input device | integrated dock keyboard support to kernel without module
    • 01-11-2014 Update v4.3 (ALL AOSP)
      True CD-ROM emulation" support | Implement USB HID Keyboard/Mouse ROLE support for Android device (https://github.com/pelya/android-keyboard-gadget) needs supported APK from HERE | drivers/cpufreq/cpufreq_lulzactiveq.c : set dual core mode and fix scaling (Andi) | ext4: remove some debugging functions by Samsung & sync with kernel.org | fs: default to noatime/nodiratime | Input: Send events one packet at a time | deadline: Allow 0ms deadline latency, increase the read speed | ZZmoove Version 1.0 beta1 | [PATCH] nohz: Fix update_ts_time_stat idle accounting (ZaneZam) | fs/exfat: update to v1.2.9 | Boeffla Sound v1.6.7| net: Performance fix for process_backlog | ext4: Speedup WB_SYNC_ALL pass called from sync | freezer: shorten freezer sleep time using exponential backoff | irq: Set CPU affinity right on thread creation | cpuidle: remove cross-cpu IPI by new latency request | nohz: Reduce overhead under high-freq idling patterns | ARM: smp: Wait just 1 second for other CPU to halt | timer: optimize apply_slack() | cpuidle: make a single register function for all | cpufreq: Fix policy stucking if user & kernel min/max don't overlap | cpuidle: Fix NULL pointer dereference during hotplug | Migrate to GCChf arm-cortex-a9 4.9.2 toolchain | ksm: check and skip page, if it is already scanned (Pradeep Sawlani) | ksm: Provide support to use deferred timers for scanner thread | Asynchronous I/O latency to a solid-state disk greatly increased | sdhci: deploy delay on host power down | mmc: Disregard pending irqs in sdio | ext4: Add support for FIDTRIM, a best-effort ioctl for deep discard trim | pegasusq: enable io_is_busy by default | bdi: allow block devices to say that they require stable page writes | ASoC: jack: Use power efficient workqueue | ASoC: pcm: Use the power efficient workqueue for delayed powerdown | ASoC: pcm: Use the power efficient workqueue for delayed powerdown | fbcon: queue work on power efficient wq | block: queue work on power efficient wq | PHYLIB: queue work on system_power_efficient_wq | workqueue: Add system wide power_efficient workqueues | workqueues: Introduce new flag | WQ_POWER_EFFICIENT for power oriented workqueues
    • 29-11-2014 Update v4.4 (ALL AOSP)
      Migrated to GCChf linaro 4.9.3 toolchain | attempted battery drain fix by 1N4148

    Regarding AGNi sdcard1<-->sdcard0 Switcher when enabled:
    - original sdcard0 obb data is available at /data/media/obb
    - new sdcard1 obb data is available at /mnt/shell/emulated/Android/obb
    - original sdcard1 userdata is available at /mnt/shell/emulated
    you can move data between these as required.

    KNOWN BUG:
    Boeffla sound has minor incompatibily issue which makes its equalizer ineffective and its DAC-direct option needs to be kept ON for sound output


    NOTE: CM 11 variant will set SELINUX PERMISSIVE


    ================================================================================
    WHAT IS Flash-Friendly File System (F2FS)?
    ================================================================================

    NAND flash memory-based storage devices, such as SSD, eMMC, and SD cards, have
    been equipped on a variety systems ranging from mobile to server systems. Since
    they are known to have different characteristics from the conventional rotating
    disks, a file system, an upper layer to the storage device, should adapt to the
    changes from the sketch in the design level.

    F2FS is a file system exploiting NAND flash memory-based storage devices, which
    is based on Log-structured File System (LFS). The design has been focused on
    addressing the fundamental issues in LFS, which are snowball effect of wandering
    tree and high cleaning overhead.

    Since a NAND flash memory-based storage device shows different characteristic
    according to its internal geometry or flash memory management scheme, namely FTL,
    F2FS and its tools support various parameters not only for configuring on-disk
    layout, but also for selecting allocation and cleaning algorithms.


    FURTHER READING:
    https://github.com/psndna88/AGNI-pu...-N7100-4.3/Documentation/filesystems/f2fs.txt
    https://lwn.net/Articles/518988/

    F2FS FORMAT TOOLS: http://d-h.st/users/psndna88/?fld_id=34001#files (formating /DATA with these will wipe your internal storage in single shot !)
    EXT4 FORMAT TOOLS: http://d-h.st/users/psndna88/?fld_id=34000#files (formating /DATA with these will wipe your internal storage in single shot !)

    PSN TWRP v2.7.0.x (F2FS Modified):- (NEW 2.7.0.3 UPLOADED)

    P3100 : HERE
    P311x : HERE


    TWRP Drawbacks:
    1: it doesnt ask which filesystem to format, but if u have ext4 previously, wiping that partiton is done in ext4 and same with f2fs, so u have to use above tools once atleast for partitons of ur choice
    2: it doesnt support restore of ext4 backups to f2fs formatted partitions, so u have to clean wipe to fully convert to f2fs (titanium backup is ur best friend)
    3: I SUGGEST MANUALLY COPYING INTERNAL STORAGE DATA TO PC and making titanium backups before trying to format /data to f2fs
    4: to flash rom to f2fs formatted recovery you have to edit the updater-script and put a # before the "format" line and # before all unmount lines and manually mount system and data in twrp prior to flashing any zip. (i will post detailed updater-script modifications lateron)
    5: on formatting /data to f2fs from ext4 or vice versa, twrp fails to mount /data, reboot to recovery again and all will be fine

    App Screenshot: (v2.0)

    Screenshot_2014_01_03_19_52_25.png



    About LZ4 compression/decompression:
    LZ4 is a very fast lossless compression algorithm, providing compression speed at 300 MB/s per core, scalable with multi-cores CPU. It also features an extremely fast decoder, with speed in GB/s per core, typically reaching RAM speed limits on multi-core systems.
    ADVANTAGE OF LZ4 OVER SNAPPY = higher speed with almost same marginal cpu usage for Zram

    Speed_Compare_LZ4.jpg



    KERNEL DOWNLOADS :-

    DOWNLOAD HERE v4.3+

    NEWER CM11 VERSION (v4.2):
    CLICK HERE

    NEWER CM11 VERSION (v4.1_R2):
    CLICK HERE

    NEWER CM11 VERSION (v4.1):
    CLICK HERE

    OLDER CM11 VERSIONS (v3.3 to v4.0) :
    HERE OR CLICK HERE

    OLDER CM11 VERSIONS :
    CLICK HERE

    CM10.2 Supporting VERSION (v2.5) :
    CLICK HERE


    XDA:DevDB Information
    AGNi Kernel, Kernel for the Samsung Galaxy Tab 2

    Contributors
    psndna88
    Source Code: https://github.com/psndna88/AGNi-pureCM

    Kernel Special Features: Based on Cyanogenmod espresso10 Sources, upstreamed to 3.0.101 with selected picked mods/patches to be near to stock as possible.

    Version Information
    Status: Stable

    Created 2014-07-10
    Last Updated 2014-11-29
    14
    CREDITS




    ADI & TEAM
    @AndiP
    @ketut.kumajaya
    @Yank555 for support
    11
    development has begun for this thread now.

    Sent from F2FS FORMATED I9300 Temasek CM11 Unofficial v111 (4.4.4) + AGNi pureCM v2.8.3 kernel with ART
    10
    v4.3 test....

    with success in ability to use screen as usb touchpad or mouse and keyboard for pc
    10
    26-01-2014 Update v3.3 (ANY CM11 OFFICIAL/UNOFFICIAL P3100/P3110/P3113 :p:victory::victory::silly: ) :-

    ==> Introducing my "ANYROM" kernel flash method AKA "Kernel Patcher-v4.2"
    (Implementation of my old GALAXY ACE WORKS ) :-
    1. It extracts the installed kernel boot.img from the device
    2. It cracks it open to get the zImage and ramdisk
    3. it extracts this old ramdisk
    4. it removes any unwanted or conflicting elements with AGNi kernel (typically other custom CM kernel ramfs elements)
    5. It adds/removes/patches the files on this extracted ramdisk as necessary
    6. it packs this ramdisk and builds a new flashable boot.img using AGNi compiled zImage
    7. It places its log at /data/.AGNi which is refreshed on each pureCM kernel install
    8. This new boot.img is then flashed !!! Voila !
    NB: you wont find any boot.img in this installer zip, dont freak out :p
    also it wont work over non-standard structured boot.img kernels like the ones supporting dualboot so u need to reflash rom without wipe then flash this

    THIS "ANYROM" INSTALLATION METHOD DIFFERS WITH "ANYKERNEL" AS IT HAS THE FLEXIBILITY TO MODIFY RAMFS CONTENTS AS REQUIRED

    ==> Other updates:
    arm unaligned memory access | mmc: disable crc for better performance | arch/arm/vfp: change compile flags - Neon & hard-float support | ARM: Add optimised swahb32() byteswap helper | ARM-spinlock: use ticket algorithm for ARMv6+ locking implementation | ARM: L1 cache optimization | LMK minfree tweakable from AGNi Control and integrated with AGNi profiles | added Zen I/O scheduler | Proportional Rate Reduction for TCP | filter multicast packages while suspended