[KERNEL] Khaon's Kernel ♦ F2FS ♦ LINARO 4.7.4 ♦03/04

Time to choose the ROM I am gonna distribute

  • AOSP

    Votes: 4 18.2%
  • CM12

    Votes: 5 22.7%
  • OptiPop

    Votes: 10 45.5%
  • Another - reply and tell me the name!

    Votes: 3 13.6%

  • Total voters
    22
  • Poll closed .
Search This thread

Khaon

Senior Member
Apr 3, 2012
1,271
1,677
Louvain-la-Neuve, Belgium
Hello everyone!! Want to try f2fs on your device? You are at the good place to give it a try!


disclaimer said:
I am not responsible for any damage to your phone.
Read before downloading or posting in the thread:
Proceed with caution if you have no experience
.

INTRODUCTION

I wanted to port f2fs for our device since it gives a nice performance boost. After few months of learning how to develop and program his own custom kernel here is my first personal release.

This is an open devDB xda project. Feel free to fill in bugs reports, feature(s) requests and reviews.

To those who don't know what is f2fs

F2FS (Flash-Friendly File System) is a flash file system created by Jaegeuk Kim (Hangul: 김재극) at Samsung for the Linux operating system kernel.[2]

The motive for F2FS was to build a file system that from the start takes into account the characteristics of NAND flash memory-based storage devices (such as solid-state disks, eMMC, and SD cards), which are widely used in computer systems ranging from mobile devices to servers.

Some benchmarks to point out the performance difference between EXT4 and F2FS

Optipops features :

Kernel's features :

  • Compiled with linaro 4.7.4 with optimized flags : O3, etc.
  • Linux 3.4.67: synced with cyanogen 's manta kernel git, google's common branch, some parts of the kernel updated to 3.4.108, and many fixes from CAF,linaro, blabla.
  • Governors : interactive, intelliactive,intellimm,conservative, ktoonservative , performance, userspace, nigtmahre(on request)(ask for some others if you prefer them over the one I provide)
  • I/O schedulers : noop, cfq, deadline, bfq(tweaked for nand devices),fiops,zen,sio
  • f2fs updated from upstream git(08 september 2015)
  • UV and OC both for the GPU AND CPU supported
  • Control for the gpu table thresholds
  • touchboost driver for cpu and gpu in replacement of crappy powerHAL touch interface ( thx @franciscofranco to have adapted qcom code to ageneric one)
  • arm optimized crypto algorithms.(for the ones that want to crypt their data)
  • f2fs crypto support
  • kernel neon support
  • kernel side touch boost driver
  • double tap to wake
  • AnyKernel2 Solution: Allow users to install the kernel on different distribution. It also detects the filesystem of your partitions to produce a correct fstab. ( f2fs is supported on any partition BUT system )
  • and many more patches(see my github!)
installation instructions :

  • Wipe Data Cache System
  • Flash The kernel
  • If issues are met, delete the
    Code:
    /sdcard/Android/data
    folder.
  • IF YOU FACE ERROR/ISSUES PLEASE USE MY TWRP CUSTOM RECOVERIES AT this link

How To Migrate one partition from ext4 to f2fs(vice-versa):INSTRUCTIONS FOR TWRP 2.8.x.y
GunnerOnASpooky said:
1. Backup everything from your internal storage to your PC or what ever, if you are migrating /data partition,since the entire internal storage is going to get wiped out with format!!!!!!!!!!
2. Download the recovery from my gdrive
3. Flash the recovery from the bootloader (fastboot flash recovery XX.img)
4. Reboot into the newly flashed recovery
5. Choose wipe, advanced, then select the partition you want to change its filesystems
6. Choose the change file system option on the right
7. Select change file system again
8. Select f2fs(or ext4)
9. Repeat for all you wish to convert (I did system!/data/cache but /system partition should be working if you rom package flash extracts instead of flashing an image)

Credits:
@ktoonsez - for his kernel , KT- twrp and his work.
Team Win and @helicopter88 @Dees_Troy for their help.
Samsung for F2FS: heh!
@craigacgomez - for thunderkat kernel
@JustArchi - for his opti v3 build rom.
Cyanogendmod for their ROM
Linaro foundation for their toolchains
@faux123 for his intelliactive governor
@franciscofranco - for his work on touch boost drivers and mako kernel
@osm0sis - for AnyKernel2

Source:
KT-TWRP
kernel
Ramdisks



XDA:DevDB Information
Khaon's project for Nexus 10, Kernel for the Google Nexus 10

Contributors
Khaon, ktoonsez,dees_troy,cyanogenmod,faux123,franciscofranco
Source Code: https://github.com/Khaon/kernel_samsung_manta

Kernel Special Features: This kernel is compiled with lastest UBERTC 4.8.5 It features UC/OC, UV, bfq, optimizaed compillation falgs, uksm, frandom, supports f2fs, dynamiclly mounts f2fs/ext4 partitions and more

Version Information
Status: Stable
Stable Release Date: 2015-01-03

Created 2014-09-27
Last Updated 2015-01-12

XDA:DevDB Information
Khaon's kernel for Nexus 10, Kernel for the Google Nexus 10

Contributors
Khaon, Cl3Kener, ktoonsez,dees_troy,cyanogenmod,faux123,franciscofranco,freak_97,despairfactor
Source Code: https://github.com/Khaon/kernel_samsung_manta

Kernel Special Features: This kernel is compiled with lastest UBERTC 4.8.5. It features UC/OC, UV, bfq, optimizaed compillation falgs, uksm, frandom, supports f2fs, dynamiclly mounts f2fs/ext4 partitions and more

Version Information
Status: Stable
Stable Release Date: 2015-07-13
Beta Release Date: 2015-04-17

Created 2014-09-27
Last Updated 2015-09-06

XDA:DevDB Information
Khaon's kernel for Nexus 10, Kernel for the Google Nexus 10

Contributors
Khaon, Cl3Kener, ktoonsez,dees_troy,cyanogenmod,faux123,franciscofranco,freak_97,despairfactor
Source Code: https://github.com/Khaon/kernel_samsung_manta

Kernel Special Features: This kernel is compiled with lastest UBERTC 4.8.5. It features UC/OC, UV, bfq, optimizaed compillation falgs, uksm, frandom, supports f2fs, dynamiclly mounts f2fs/ext4 partitions and more

Version Information
Status: Stable
Stable Release Date: 2015-09-08
Beta Release Date: 2015-04-17

Created 2014-09-27
Last Updated 2015-09-08

XDA:DevDB Information
Khaon's kernel for Nexus 10, Kernel for the Google Nexus 10

Contributors
Khaon, Cl3Kener, ktoonsez,dees_troy,cyanogenmod,faux123,franciscofranco,freak_97,despairfactor
Source Code: https://github.com/Khaon/kernel_samsung_manta

Kernel Special Features: This kernel is compiled with lastest UBERTC 4.8.5. It features UC/OC, UV, bfq, optimizaed compillation falgs, uksm, frandom, supports f2fs, dynamiclly mounts f2fs/ext4 partitions and more

Version Information
Status: Stable
Stable Release Date: 2015-09-08
Beta Release Date: 2015-04-17

Created 2014-09-27
Last Updated 2016-04-02
 
Last edited:

Khaon

Senior Member
Apr 3, 2012
1,271
1,677
Louvain-la-Neuve, Belgium
Changelogs

Recommanded applications

Kernel Audiutor for kernel management. It supports for now all kernel features but gpu overclocking.

Changelogs



from 08/04 to 13/08

Merge remote-tracking branch 'exynos/android-exynos-manta-3.4-lollipop-mr1' into khaon-new
Merge remote-tracking branch 'common/android-3.4' into khaon-new
gpu:mali:dvfs:set gpu boost sysfs interface in msecs instead of usecs
mali:dvfs:enhanced gpu voltage control
defconfig:enabled f2fs crypto
f2fs:fix compilation errors when crypto is enabled
KEYS: Add invalidation support
f2fs: fix the prototype of find_target_dentry
Revert "vfs: make it possible to access the dentry hash/len as one 64-bit entry"
f2fs: import upstream sources
defconfig:compile nightmare governor
cpufreq:add nightmare governor drivers/cpufreq/Makefile
ipv6: clean up anycast when an interface is destroyed
ipv6: sysctl to restrict candidate source addresses
dt2w: enhancements to prevent the device to be all the time awake when dt2w is disabled
Merge remote-tracking branch 'common/android-3.4' into HEAD
Fix incorrect conflict resolution in "vfs: Add setns support for the mount namespace"
proc: fix build broken by proc inode per namespace patch
Revert "android: drivers: Fix build broken by android debugfs fix."
android: drivers: Fix build broken by android debugfs fix.
proc: Allow proc_free_inum to be called from any context
proc: Usable inode numbers for the namespace file descriptors.
proc: Fix the namespace inode permission checks.
proc: Generalize proc inode allocation
vfs: Allow unprivileged manipulation of the mount namespace.
vfs: Only support slave subtrees across different user namespaces
vfs: Add a user namespace reference from struct mnt_namespace
vfs: Add setns support for the mount namespace
consitify do_mount() arguments
do_add_mount()/umount -l races
fs: introduce inode operation ->update_time
VFS: Comment mount following code
VFS: Make clone_mnt()/copy_tree()/collect_mounts() return errors
get rid of magic in proc_namespace.c
get rid of ->mnt_longterm
vfs: umount_tree() might be called on subtree that had never made it
brlocks/lglocks: API cleanups
brlocks/lglocks: turn into functions
lglock: remove online variants of lock
Revert "vfs: umount_tree() might be called on subtree that had never made it"
android: drivers: workaround debugfs race in binder
Revert "android: drivers: workaround debugfs race in binder"
ipv4: Missing sk_nulls_node_init() in ping_unhash().
f2fs:fix for linux 3.4
remove permissive mode by default
fs: Introduce FALLOC_FL_ZERO_RANGE flag for fallocate
fs: Add new flag(FALLOC_FL_COLLAPSE_RANGE) for fallocate
f2fs: disable the discard option when device doesn't support
f2fs: fix a deadlock for summary page lock vs. sentry_lock
f2fs: recovering broken superblock during mount
f2fs: truncate data blocks for orphan inode
f2fs: fix building on 32-bit architectures
f2fs: avoid buggy functions
f2fs: add compat_ioctl to provide backward compatability
f2fs: do not issue next dnode discard redundantly
f2fs: add default mount options to remount
f2fs: report unwritten area in f2fs_fiemap
f2fs: avoid value overflow in showing current status
f2fs: support FALLOC_FL_ZERO_RANGE
f2fs: support FALLOC_FL_COLLAPSE_RANGE
f2fs: introduce f2fs_replace_block() for reuse
block: introduce the BFQ-v7r8 I/O sched for 3.4
cpufreq.h:correct the prototype of cpufreq_frequency_table *cpufreq_frequency_get_table_ordered
doubletap2wake:initial reworking
ptrace: fix ptrace defect cause by a merge fail
android: drivers: workaround debugfs race in binder
neigh: Better handling of transition to NUD_PROBE state
New Build Breakage in branch: kernel-m-dev-tegra-flounder-3.10 @ 1960706
Revert "double tap to wake initial introduction"
Revert "DT2W: give the capacity to wake to the driver and let the driver awake"
Merge remote-tracking branch 'common/android-3.4' into khaon-new
gpu:mali:add control for the gpu table and gpu boost duration, also decreased the gpu governor poll rate from 100 ms to 75 ms
gpu:mali:added an sysfs interface for the gpu boost freq
invensense: testBatchAndFlush CTS issues
selinux: enable per-file labeling for debugfs files.
suspend: Return error when pending wakeup source is found.
ipv4: Missing sk_nulls_node_init() in ping_unhash().
added a sysfs interface for the gpu voltage
build script updated
thermal: increased the start throlle a bit for the gpu and increase for the mem
gpu:reworked the voltage and increased voltage for the 864 cache speed
DT2W: give the capacity to wake to the driver and let the driver awake
net/unix: sk_socket can disappear when state is unlocked
selinux: enable genfscon labeling for sysfs and pstore files
selinux: enable per-file labeling for debugfs files.
selinux: correctly label /proc inodes in use before the policy is loaded
thermal:tmu-exynos:reworked slightly the driver
suspend: Return error when pending wakeup source is found.
gpu/cpu oc: little changes for the voltage
slight rework of compil flags
gpu oc: introduction of 667Mhz and 720Mhz steps
double tap to wake initial introduction
f2fs: fix counting the number of inline_data inodes
f2fs: don not re-lookup nat cache with same nid
f2fs: remove unneeded f2fs_make_empty declaration
f2fs: issue discard with finally produced len and minlen
f2fs: introduce discard_map for f2fs_trim_fs
f2fs: revmove spin_lock for write_orphan_inodes
f2fs: split find_data_page according to specific purposes
f2fs: add need_dentry_mark
f2fs: fix race on allocating and deallocating a dentry block
f2fs: introduce dot and dotdot name check
f2fs: move get_page for gc victims
f2fs: add sbi and page pointer in f2fs_io_info
f2fs: add f2fs_may_inline_{data, dentry}
f2fs: clean up f2fs_lookup
f2fs: introduce f2fs_commit_super
f2fs: add f2fs_map_blocks
f2fs: add feature facility in superblock
f2fs: move existing definitions into f2fs.h
f2fs: add missing version info in superblock
f2fs: fix not to check IS_ERR for null pointer
f2fs: make has_fsynced_inode static
f2fs: add offset check routine before punch_hole() in f2fs_fallocate()
f2fs: use is_valid_blkaddr to verify blkaddr for readability
f2fs: fix wrong error hanlder in f2fs_follow_link
Revert "f2fs: enhance multi-threads performance"
touchboost:increased the interval from 150ms to 300ms
build script updated
gpu:arm:mali:add input touchboost
SELinux: ss: Fix policy write for ioctl operations
seccomp: Replace BUG(!spin_is_locked()) with assert_spin_lock
nf: IDLETIMER: Adds the uid field in the msg
drbd: merge_bvec_fn: properly remap bvm->bi_bdev
writeback: fix a subtle race condition in I_DIRTY clearing
writeback: Move I_DIRTY_PAGES handling
input: evdev: Move wake_lock_destroy call
f2fs:sync with upstream branch
ipv4: Missing sk_nulls_node_init() in ping_unhash().
SELinux: ss: Fix policy write for ioctl operations
seccomp: Replace BUG(!spin_is_locked()) with assert_spin_lock
nf: IDLETIMER: Adds the uid field in the msg
VFS: Make more complete truncate operation available to CacheFiles
Merge remote-tracking branch 'common/android-3.4' into khaon-new
SELinux: use deletion-safe iterator to free list
subsystem: CPU FREQUENCY DRIVERS- Set cpu_load calculation on current frequency
gpu:mali:dvfs:reworked stock dvfs table
f2fs: flush symlink path to avoid broken symlink after POR
f2fs: avoid abnormal behavior on broken symlink
f2fs: change 0 to false for bool type
arm:midguard:fixed bus frequency for 533 mhz
kernel: add support for gcc 5
arm:midgard:decreased up threshold for gpu governor
vfs: check if f_count is 0 or negative
hrtimer: Prevent remote enqueue of leftmost timers
hrtimer: Prevent all reprogramming if hang detected
hrtimer: Set expiry time before switch_hrtimer_base()
sched/fair: Improve the ->group_imb logic
sched/fair: Revert sched-domain iteration breakage
sched/fair: Propagate 'struct lb_env' usage into find_busiest_group
sched/fair: Add some serialization to the sched_domain load-balance walk
sched/fair: Let minimally loaded cpu balance the group
sched: Change rq->nr_running to unsigned int
sched/fair: Implement fast idling of CPUs when the system is partially loaded
sched: Fix inaccurate accounting for real-time task
sched: Micro-optimize the smart wake-affine logic
sched: Implement smarter wake-affine logic
sched/idle: Avoid spurious wakeup IPIs
sched/__wake_up_sync_key(): Fix nr_exclusive tasks which lead to WF_SYNC clearing
Merge remote-tracking branch 'common/android-3.4' into khaon-new
SELinux: per-command whitelisting of ioctls
security: lsm_audit: add ioctl specific auditing
SELinux: Update policy version to support constraints info
SELinux: add default_type statements
SELinux: allow default source/target selectors for user/role/range
selinux: add SOCK_DIAG_BY_FAMILY to the list of netlink message types
selinux/nlmsg: add XFRM_MSG_MAPPING
selinux/nlmsg: add XFRM_MSG_MIGRATE
selinux/nlmsg: add XFRM_MSG_REPORT
selinux/nlmsg: add XFRM_MSG_[NEW|GET]SADINFO
selinux/nlmsg: add XFRM_MSG_GETSPDINFO
selinux/nlmsg: add XFRM_MSG_NEWSPDINFO
cpufreq:interactive:let's try those tunnables


08/03


kernel

  • squashed commits from upstream kernel revision:
    • blktrace: fix accounting of partially completed requests
    • block: fix a probe argument to blk_register_region
    • vfs,proc: guarantee unique inodes in /proc
    • mm: fix aio performance regression for database caused by THP
    • ASoC: wm_hubs: Add missing break in hp_supply_event()
    • ALSA: fix oops in snd_pcm_info() caused by ASoC DPCM
    • can: dev: fix nlmsg size calculation in can_get_size()
    • ipv4: fix ineffective source address selection
    • proc connector: fix info leaks
    • net: heap overflow in __audit_sockaddr()
    • net: do not call sock_put() on TIMEWAIT sockets
    • tcp: do not forget FIN in tcp_shifted_skb()
    • tcp: must unclone packets before mangling them
    • OOM, PM: OOM killed task shouldn't escape PM suspend
    • ALSA: pcm: use the same dma mmap codepath both for arm and arm64
    • random: add and use memzero_explicit() for clearing data
    • crypto: more robust crypto_memneq
    • vfs: fix data corruption when blocksize < pagesize for mmaped data
    • target: Fix queue full status NULL pointer for SCF_TRANSPORT_TASK_SENSE
    • block: fix alignment_offset math that assumes io_min is a power-of-2
    • fix misuses of f_count() in ppp and netlink
    • fs: make cont_expand_zero interruptible
    • fs: Fix theoretical division by 0 in super_cache_scan().
    • framebuffer: fix border color
    • power: charger-manager: Fix NULL pointer exception with missing cm-fuel-gauge
    • kvm: don't take vcpu mutex for obviously invalid vcpu ioctls
    • int_sqrt: Improve 3x faster integer sqrt.
    • net: ping: Return EAFNOSUPPORT when appropriate.
    • android: base-cfg: turn off /dev/mem and /dev/kmem
    • net: ipv6: make "ip -6 route get mark xyz" work.
    • Set the iif for IPv6 packets as well.
    • Merge remote-tracking branch 'common/android-3.4' into khaon-new
    • sched: Fix reference to stale task_struct in try_to_wake_up()
    • Merge remote-tracking branch 'common/android-3.4' into khaon-new
    • fs/proc/task_mmu.c: add user-space support for resetting mm->hiwater_rss (peak RSS)




  • gpu:mali:
    • reworked gpu governor table




  • fs:
    • f2fs:updatd to upstream revision




  • defconfig:
    • defconfig:enabled neon features
    • defconfig:add NTFS support




  • cpufreq:
    • cpufreq:ktoonservative:made touch boost smarter
    • cpufreq:interactive:increased DOWN_LOW_LOAD_THRESHOLD to 20%




Rom(changes from optipop official sources):

  • core:
    • Add support for exec command in init scripts.
    • init: Fix memory corruption when sanitizing platform paths
    • init: Do not call recursive_restorecon on soc.0
    • init: Make restorecon_recursive work for /data/
    • fs_mgr: Skip filesystem check unless fs_type matches
    • Add libminshacrypt static lib




  • device/manta:
    • fstab:removed fastboot and flush_merge mount options
    • twrp:added fstab and updated config
    • manta: Use better mount options
    • BoardConfig:enabled f2fs for userdata image
    • Audio proprietaries from stock ROM
    • Add support for more filesystems
    • Enabled BLE, GATT, SMP (bluetooth low-energy)
    • OTG USB storage support
    • Update full_manta properties
    • ART dex2oat optimisation properties
    • Final final final N5 wallpaper.
    • fstab: enabled f2fs support
    • enable inline kernel building
    • audio_effects:added support for viper4audio
    • post install validation:resize the system partition after installing the rom
    • added reboot to recovery button and screenshot in the power menu
    • manta: add GlobalActionList config
    • call my vendor script
    • enable translucent decor
    • Remove obsolete dalvik.gc.type-precise
    • manta: Enable libm optimizations
    • enabled optipop optimizations
    • power: updated to my personnal library
    • added twrp config for manta




  • TWRP 2.8.5.0:
    • switched to cm12's f2fs tools(1.4.1)
    • use my kernel instead of stock one with f2fs patches



16/02

Kernel changelog :


  • f2fs synced with latest revision
  • merged aosp new commits
  • reworked ktoonservative a bit
  • picked few patches from upstream 3.4.106 kernel
20/01

Hello little update to the kernel:


  • introduced 864 Mhz cache frequencies for 1.6+++ freq.
  • merged with google's androidd 3.4 branch: squashed the following commits:
    • Merge remote-tracking branch 'common/android-3.4' into lollipop
    • ARM: pull in <asm/simd.h> from asm-generic
    • ARM: be strict about FP exceptions in kernel mode
    • ARM: move VFP init to an earlier boot stage
    • crypto: create generic version of ablk_helper
    • ARM: add support for kernel mode NEON
    • crypto: sha - Handle unaligned input data in generic sha256 and sha512.
    • crypto: sha512_generic - set cra_driver_name
    • crypto: sha512 - Expose generic sha512 routine to be callable from other modules
    • crypto: create generic version of ablk_helper
    • defconfig updated:enabled arm crypto
    • KEYS: Provide signature verification with an asymmetric key
    • KEYS: Asymmetric public-key algorithm crypto key subtype
    • KEYS: Implement asymmetric key type
    • crypto: add crypto_[un]register_shashes for [un]registering multiple shash entries at once
    • ARM: 8120/1: crypto: sha512: add ARM NEON implementation
    • ARM: 8119/1: crypto: sha1: add ARM NEON implementation
    • ARM: 8118/1: crypto: sha1/make use of common SHA-1 structures
    • crypto: arm-aes - fix encryption of unaligned data
    • CRYPTO: Fix more AES build errors
    • ARM: add .gitignore entry for aesbs-core.S
    • ARM: add support for bit sliced AES using NEON instructions
    • ARM: move AES typedefs and function prototypes to separate header
    • ARM: 7837/3: fix Thumb-2 bug in AES assembler code
    • ARM: 7723/1: crypto: sha1-armv4-large.S: fix SP handling
    • ARM: 7626/1: arm/crypto: Make asm SHA-1 and AES code Thumb-2 compatible
    • arm/crypto: Add optimized AES and SHA1 routines
  • sync with f2fs upstream branch
  • squashed few commits from CAF:
    • mm: vmscan: lock page on swap error in pageout
    • Staging: android: binder: More offset validation
    • Input: Send events one packet at a time
    • binder: NULL pointer reference
    • staging: binder: add vm_fault handler
    • staging: binder: Change binder mutex to rtmutex.


report if instablity!

02/01

khaon said:
kernel:
  • cpufreq:
    • cpufreq: Retain only online cpus in managed_policy->cpus
    • cpufreq:interactive:reworked tunnables
    • cpufreq:interactive: making sure cpufreq stays low when it needs to stay low
    • cpufreq:interactive:switched to touchboost driver
    • cpufreq: interactive: prevents the frequency to directly raise above the hispeed_freq from a lower frequency.
    • cpufreq: interactive: don't skip waking up speedchange_task if target_freq > policy->cur
    • cpufreq: interactive: delete timers for GOV_START
    • cpufreq: interactive: Fix null pointer dereference in interactive governor
    • cpufreq: interactive: Remove unnecessary cpu_online() check
    • cpufreq:ktoonservative:switch to generic input touchboost driver
    • Tweaks on OC (from @ktoonsez )
  • Makefile:
    • Makefile:removed graphite flags
  • exynos:
    • exynos:increased thermald throttling temp
  • drivers:
    • input: touchboost: add my generic touchboost driver governor agnostic. Its slightly changed from my N5, N4 and N7 version to adapt to this arch ( from @franciscofranco )
  • filesystems:
    • f2fs:sync with upstream branch
    • frandom: A fast random number generator
  • block:
    • block:bfq:adjusted tunnables for nand devices
    • block:bfq v7r7 v7r7: . BUGFIX: Prevent the OOM queue from being involved in the queue cooperation mechanism. In fact, since the requests temporarily redirected to the OOM queue could be redirected again to dedicated queues at any time, the state needed to correctly handle merging with the OOM queue would be quite complex and expensive to maintain. Besides, in such a critical condition as an out of memory, the benefits of queue merging may be little relevant, or even negligible. . IMPROVEMENT: Let the OOM queue be initialized only once. Previously, the OOM queue was reinitialized, at each request enqueue, with the parameters related to the process that issued that request. Depending on the parameters of the processes doing I/O, this could easily cause the OOM queue to be moved continuously across service trees, or even across groups. It also caused the parameters of the OOM queue to be continuously reset in any case. . CODE IMPROVEMENT. Performed some minor code cleanups, and added some BUG_ON()s that, if the weight of an entity becomes inconsistent, should better help understand why.
  • kernel:
    • sched: LOAD_FREQ (4*HZ+61) avoids loadavg Moire. From http://ripke.com/loadavg/moire
    • Merge remote-tracking branch 'common/android-3.4' into khaon-new


Rom:



  • build:use a modular list to disable O3 optimizations (fixes for example blue tooth crashes, report any new other FC's, if they related to the optimizations flags, I can try tracking down the relevant module and add it to the list.
  • audio_effects:added support for viper4audio
  • power: removed touch screen boost's code because we use kernel side touch boost driver
khaon said:
19/12

khaon said:
Rom:


  • powerHAL: reworked the driver to prevent overriding user's CPU freq speed to 1.7GHz.
  • powerHAL: reworked the driver to break early on screen interaction if the current cpu governor is not interactive
  • build:clang: compile the rom with Ofast instead of O3 ( since this flag enables ffast-math, it violates IEEE, thus it may bring instability or decrease in performance, report weird behaviour.

Kernel:



  • ext4 updated to 3.4.105
  • frandom in replacement for random and uradom
  • thermal throttling: squashed @ktoonsez thermal algorithm
  • various cherry-picking from 3.4.105 kernel and from linux kernel upstream(include among other lz4 up to date, various arm patches, few patches

Anykernel:


  • Full switching to anykernel2 solution by osmosis:
  • patch the fstab upon flashing the zip package accordingly to your partitions' file systems
  • post-init script added to tweak vm,io,sched,...
19/11

khaon said:
Changelog

  • TWRP: added unofficial 2.8.1.0 build supporting f2fs


20/10

khaon said:
Changelog
  • ROM:
    • 20/10 unoficial nightly compiled with linaro 4.8.4 with this build
    • Shipped with my linux mainline kernel
  • Kernel :
    • updated to Linux3.4.104
    • sync with google's kernel 3.4 banch
    • sync with f2fs branch
    • frandom: A fast random number generator as a kernel module for Linux.
    • mm: Added file system dynamic read-ahead (Credits to Chad Gooldman)
    • block:bfq:updated to v7r6
23/09/14

Linux 3.4.103
Makefile : compiling with graphite
frandom: A fast random number generator as a kernel module for Linux.
Vibration interface goes LIVE
F2FS :
f2fs: refactor flush_nat_entries to remove costly reorganizing ops
f2fs: introduce FITRIM in f2fs_ioctl
f2fs: introduce cp_control structure
f2fs: use more free segments until SSR is activated
f2fs: change the ipu_policy option to enable combinations
f2fs: fix to search whole dirty segmap when get_victim
f2fs: fix to clean previous mount option when remount_fs
f2fs: skip punching hole in special condition
f2fs: support large sector size
f2fs: fix to truncate blocks past EOF in ->setattr
f2fs: update i_size when __allocate_data_block
f2fs: use MAX_BIO_BLOCKS(sbi)
f2fs: remove redundant operation during roll-forward recovery
f2fs: do not skip latest inode information
f2fs: fix roll-forward missing scenarios
f2fs: fix conditions to remain recovery information in f2fs_sync_file
f2fs: introduce a flag to represent each nat entry information
f2fs: use meta_inode cache to improve roll-forward speed
f2fs: fix double lock for inode page during roll-foward recovery
f2fs: fix a race condition in next_free_nid
Merge remote-tracking branch 'common/android-3.4' into origin/google_mainline:
seccomp: Use atomic operations that are present in kernel 3.4.
seccomp: implement SECCOMP_FILTER_FLAG_TSYNC
introduce for_each_thread() to replace the buggy while_each_thread()
seccomp: allow mode setting across threads
seccomp: introduce writer locking
seccomp: split filter prep from check and apply
sched: move no_new_privs into new atomic flags
ARM: add seccomp syscall
seccomp: add "seccomp" syscall
seccomp: split mode setting routines
seccomp: extract check/assign mode helpers
seccomp: create internal mode-setting function
MAINTAINERS: create seccomp entry
CHROMIUM: ARM: r1->r0 for get/set arguments
CHROMIUM: seccomp: set -ENOSYS if there is no tracer
CHROMIUM: ARM: arch/arm: allow a scno of -1 to not cause a SIGILL
CHROMIUM: arch/arm: select HAVE_ARCH_SECCOMP_FILTER
CHROMIUM: arch/arm: move secure_computing into trace; respect return code
CHROMIUM: arch/arm: add asm/syscall.h
samples/seccomp: fix dependencies on arch macros
seccomp: fix build warnings when there is no CONFIG_SECCOMP_FILTER
seccomp: ignore secure_computing return values
seccomp: use a static inline for a function stub
Documentation: prctl/seccomp_filter
Fix execve behavior apparmor for PR_{GET,SET}_NO_NEW_PRIVS
Add PR_{GET,SET}_NO_NEW_PRIVS to prevent execve from granting privs
13/09/14 :

Recovery:

  • Added twrp-2.8.0.0 supporting mounting f2fs partitions
Ramdisk :
[
  • sync with cm
  • using lz4 compression algorithm for both ramdisk and kernel image
  • unified all version into a single kernel : at boot a script check which is the fs of each partition
Khaon's kernel :

  • added lz4 kernel support for decompression
  • f2fs synced with upstream dev branch.
  • ARM :
  • optimized AES and SHA1 routines
  • sha1: add ARM NEON implementation
  • support neon in kernel
  • commits from former kernels
  • commits from linux/master, google's kernel/common, cyanogenmod's manta branches.
 
Last edited:

dadaz007

Senior Member
Feb 6, 2012
582
180
Morteau
Google Pixel 6
Thanks a lot for your work.

I'll try it with CM asap.

For more download convenience, can you upload an all-in-one zip with recovery and the 2 kernel somewhere else than github, it could be difficult to download from there. Thanks again.
 

hachem28

Senior Member
Apr 6, 2011
144
29
EDIT: I'm getting a bunch of freeze-ups which result into reboots, is this happenng to anyone else?
Steps i took:
fastboot flashed kt-twrp
changed settings (including /system)
wiped what needed to be wiped
replaced Rom script( SlimKat weekly build 4.4.3)
installed rom, correct kernel, and gapps

Any advice would be appreciated!
 
Last edited:

dadaz007

Senior Member
Feb 6, 2012
582
180
Morteau
Google Pixel 6
I have some pb too. It's quite impossible for me to copy something from my usb stick to the internal memory. It freezes almost every time.

No problem in ext4 with same ROM.
 

Khaon

Senior Member
Apr 3, 2012
1,271
1,677
Louvain-la-Neuve, Belgium
Only problems I encountered were freezes/reboots for the very first hours of use, been so far in full f2fs with cyanogen M7 no probs here.

However, did you try with only cache+data partition?
 

b1g.p0ppa

Senior Member
Feb 26, 2011
974
308
Roam
About the fstab: What updates the fstype for the partitions we choose to convert to F2FS? Is TWRP 'smart' enough to write the proper /fstab.manta? I thought the boot.img in the ROM zip contained this file?

Really excited to switch to F2FS, I've been running it on my Arch boxes for a while now. Anyone worked on an auto updater for the updater-script? I'm on OmniROM and flash daily so it would be nice to not have to hand edit and re-pack the zip every day. I'd look into doing it but I'm not super confident I'd go about it the proper way.
 

Khaon

Senior Member
Apr 3, 2012
1,271
1,677
Louvain-la-Neuve, Belgium
About the fstab: What updates the fstype for the partitions we choose to convert to F2FS? Is TWRP 'smart' enough to write the proper /fstab.manta? I thought the boot.img in the ROM zip contained this file?

Really excited to switch to F2FS, I've been running it on my Arch boxes for a while now. Anyone worked on an auto updater for the updater-script? I'm on OmniROM and flash daily so it would be nice to not have to hand edit and re-pack the zip every day. I'd look into doing it but I'm not super confident I'd go about it the proper way.

For now, TWRP can detect when you are wiping your partition what tools it would has to use. I.e : if you choose to wipe data partition, system, etc.

And use the correct tool accordingly. But official version do not mount yet however f2fs partition.

The fstab is in the ramdisk, so contained yep in the boot.img. But there are few mount options, some may need to be activated in case of unstability
 
  • Like
Reactions: b1g.p0ppa

b1g.p0ppa

Senior Member
Feb 26, 2011
974
308
Roam
For now, TWRP can detect when you are wiping your partition what tools it would has to use. I.e : if you choose to wipe data partition, system, etc.

And use the correct tool accordingly. But official version do not mount yet however f2fs partition.

The fstab is in the ramdisk, so contained yep in the boot.img. But there are few mount options, some may need to be activated in case of unstability

Thank you for your reply. Perhaps the best thing is to create a flashable zip to be run after ROM flash to install fstab.manta?

Also, FWIW, here's some sed commands to update your updater-script per the instructions in the OP:
Code:
sed -i 's/^mount("ext4".*\/system*/run_program\("\/sbin\/busybox", "mount", "\/system"); /' updater-script

sed -i 's/^format("ext4".*\/system*/run_program("\/sbin\/mkfs.f2fs", "\/dev\/block\/platform\/dw_mmc.0\/by-name\/system"); /' updater-script
 

Khaon

Senior Member
Apr 3, 2012
1,271
1,677
Louvain-la-Neuve, Belgium
Thank you for your reply. Perhaps the best thing is to create a flashable zip to be run after ROM flash to install fstab.manta?

Also, FWIW, here's some sed commands to update your updater-script per the instructions in the OP:
Code:
sed -i 's/^mount("ext4".*\/system*/run_program\("\/sbin\/busybox", "mount", "\/system"); /' updater-script

sed -i 's/^format("ext4".*\/system*/run_program("\/sbin\/mkfs.f2fs", "\/dev\/block\/platform\/dw_mmc.0\/by-name\/system"); /' updater-script

Hello I just added some executable java program that convert a rom script to be f2fs compatible.

Also, having less issues with lastest kernel build but I tried it on new roms. ROMs fully working so far and stable : liquidSmooth 3.1 & slimkat 4.9.
Before I was using CM11 M7 it was working but was encoutering some freezes/reboot- especially at the beginning - but then it was ok. I can not tell if this is still happening with cm rom.

I haven't test the pc program on windows if anyone could say it does work, thx!
EDIT : thank to @dust40; he told me the tool was working on Windows as well! Should work on mac too then i guess.
 
Last edited:
  • Like
Reactions: dust40

b1g.p0ppa

Senior Member
Feb 26, 2011
974
308
Roam
Well I successfully converted /data and cache to F2FS. I made the effort way more work than it had to be by preserving my data. WAY more work. Booted in recovery mode I tar'ed up /data to a exfat formatted usb-otg drive then ran the conversion. Ran into 'value too large for defined data type' errors from tar when extracting. I ended up extracting the tarball onto my workstation, deleting the file it crapped out on, tar'ing it all back up to the usb drive and re-running the extraction. Had to repeat this procedure a good dozen times and I ended up with messed up permissions on all my data. I don't suggest anyone try this because it would have taken much less time to just set up a fresh installation, but if you do here's some good commands to fix up permissions (TWRP's fix permissions command doesn't fix what I messed up). I found these commands at http://xdaforums.com/showthread.php?t=2222297 but had to adjust them a little bit. The chown command has to be run when booted to android, the chmod commands can be run from either recovery or android. Reboot immediately after running. Best to run through adb shell than in an app on the tablet.

Code:
find /data/media/ -exec chown 1023,1023 {} \;
find /data/media/ -type d -exec chmod 775 {} \;
find /data/media/ -type f -exec chmod 664 {} \;

@Khaon, can you ask ktoonsez to compile 4.4.4 versions of the kernels? Latest OmniROM update for manta is 4.4.4 but will not boot with this kernel. And obviously I cannot run any other kernel as none others support F2FS. Thanks in advance! And thanks for putting this thread together. Without your good instructions I probably wouldn't have had the guts to convert this early.

One last thing, I can report that OmniROM works perfectly with /data and cache formatted as F2FS (once permissions are set right!). And since I preserved my data I have an apples to apples comparison of performance and it is noticeably faster and smoother!
 

ericp2

Senior Member
Jun 16, 2014
138
43
kt-recovery stuck at splash screen

Hi,
I had originally posted this in ktmanta thread:

I have been running F2FS on cache+data for past 2 weeks and it works very well (still some strange system freezes, i will need to investigate further on that).
However, now, when i boot to recovery, screen stays stuck at splash screen showing "f2fs enabled by Ktoonsez..", and does not go anywhere else. i can still flash using adb, but clearly, it's less than convenient, and using twrp 2.7.10 is not an option, as it can't mount f2fs sdcard properly anyways.
with adb shell, i can see that all is mounted properly, f2fs or not, but obviously, it's less than ideal... i have attached /cache/recovery/log file .
Note: i connect usb cable 2 to 3 mn after waiting for splash screen to go away, and i pulled recovery log at that moment. this was also the only way to get out of this stuck mode, via 'adb reboot' command.

i also tried to re-flash recovery via fastboot, but that made no difference.
any help appreciated !
 

Attachments

  • log.zip
    45.5 KB · Views: 17

Khaon

Senior Member
Apr 3, 2012
1,271
1,677
Louvain-la-Neuve, Belgium
Well I successfully converted /data and cache to F2FS. I made the effort way more work than it had to be by preserving my data. WAY more work. Booted in recovery mode I tar'ed up /data to a exfat formatted usb-otg drive then ran the conversion. Ran into 'value too large for defined data type' errors from tar when extracting. I ended up extracting the tarball onto my workstation, deleting the file it crapped out on, tar'ing it all back up to the usb drive and re-running the extraction. Had to repeat this procedure a good dozen times and I ended up with messed up permissions on all my data. I don't suggest anyone try this because it would have taken much less time to just set up a fresh installation, but if you do here's some good commands to fix up permissions (TWRP's fix permissions command doesn't fix what I messed up). I found these commands at http://xdaforums.com/showthread.php?t=2222297 but had to adjust them a little bit. The chown command has to be run when booted to android, the chmod commands can be run from either recovery or android. Reboot immediately after running. Best to run through adb shell than in an app on the tablet.

Code:
find /data/media/ -exec chown 1023,1023 {} \;
find /data/media/ -type d -exec chmod 775 {} \;
find /data/media/ -type f -exec chmod 664 {} \;


One last thing, I can report that OmniROM works perfectly with /data and cache formatted as F2FS (once permissions are set right!). And since I preserved my data I have an apples to apples comparison of performance and it is noticeably faster and smoother!

Glad you like the kernel running this, if I understood correctly, you wanted to back up the internal storage( so /data/media/0) and your apk folder to an exfat usb drive you mounted with otg? If the fs of this one was exfat that is probably the cause of your issues, I am not even sure our tablet nativly supports exfat( isn't a samsung fs that allows 32GB ++ partition size?). Lastest Omni kernel is booting I assume?
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 51
    Hello everyone!! Want to try f2fs on your device? You are at the good place to give it a try!


    disclaimer said:
    I am not responsible for any damage to your phone.
    Read before downloading or posting in the thread:
    Proceed with caution if you have no experience
    .

    INTRODUCTION

    I wanted to port f2fs for our device since it gives a nice performance boost. After few months of learning how to develop and program his own custom kernel here is my first personal release.

    This is an open devDB xda project. Feel free to fill in bugs reports, feature(s) requests and reviews.

    To those who don't know what is f2fs

    F2FS (Flash-Friendly File System) is a flash file system created by Jaegeuk Kim (Hangul: 김재극) at Samsung for the Linux operating system kernel.[2]

    The motive for F2FS was to build a file system that from the start takes into account the characteristics of NAND flash memory-based storage devices (such as solid-state disks, eMMC, and SD cards), which are widely used in computer systems ranging from mobile devices to servers.

    Some benchmarks to point out the performance difference between EXT4 and F2FS

    Optipops features :

    Kernel's features :

    • Compiled with linaro 4.7.4 with optimized flags : O3, etc.
    • Linux 3.4.67: synced with cyanogen 's manta kernel git, google's common branch, some parts of the kernel updated to 3.4.108, and many fixes from CAF,linaro, blabla.
    • Governors : interactive, intelliactive,intellimm,conservative, ktoonservative , performance, userspace, nigtmahre(on request)(ask for some others if you prefer them over the one I provide)
    • I/O schedulers : noop, cfq, deadline, bfq(tweaked for nand devices),fiops,zen,sio
    • f2fs updated from upstream git(08 september 2015)
    • UV and OC both for the GPU AND CPU supported
    • Control for the gpu table thresholds
    • touchboost driver for cpu and gpu in replacement of crappy powerHAL touch interface ( thx @franciscofranco to have adapted qcom code to ageneric one)
    • arm optimized crypto algorithms.(for the ones that want to crypt their data)
    • f2fs crypto support
    • kernel neon support
    • kernel side touch boost driver
    • double tap to wake
    • AnyKernel2 Solution: Allow users to install the kernel on different distribution. It also detects the filesystem of your partitions to produce a correct fstab. ( f2fs is supported on any partition BUT system )
    • and many more patches(see my github!)
    installation instructions :

    • Wipe Data Cache System
    • Flash The kernel
    • If issues are met, delete the
      Code:
      /sdcard/Android/data
      folder.
    • IF YOU FACE ERROR/ISSUES PLEASE USE MY TWRP CUSTOM RECOVERIES AT this link

    How To Migrate one partition from ext4 to f2fs(vice-versa):INSTRUCTIONS FOR TWRP 2.8.x.y
    GunnerOnASpooky said:
    1. Backup everything from your internal storage to your PC or what ever, if you are migrating /data partition,since the entire internal storage is going to get wiped out with format!!!!!!!!!!
    2. Download the recovery from my gdrive
    3. Flash the recovery from the bootloader (fastboot flash recovery XX.img)
    4. Reboot into the newly flashed recovery
    5. Choose wipe, advanced, then select the partition you want to change its filesystems
    6. Choose the change file system option on the right
    7. Select change file system again
    8. Select f2fs(or ext4)
    9. Repeat for all you wish to convert (I did system!/data/cache but /system partition should be working if you rom package flash extracts instead of flashing an image)

    Credits:
    @ktoonsez - for his kernel , KT- twrp and his work.
    Team Win and @helicopter88 @Dees_Troy for their help.
    Samsung for F2FS: heh!
    @craigacgomez - for thunderkat kernel
    @JustArchi - for his opti v3 build rom.
    Cyanogendmod for their ROM
    Linaro foundation for their toolchains
    @faux123 for his intelliactive governor
    @franciscofranco - for his work on touch boost drivers and mako kernel
    @osm0sis - for AnyKernel2

    Source:
    KT-TWRP
    kernel
    Ramdisks



    XDA:DevDB Information
    Khaon's project for Nexus 10, Kernel for the Google Nexus 10

    Contributors
    Khaon, ktoonsez,dees_troy,cyanogenmod,faux123,franciscofranco
    Source Code: https://github.com/Khaon/kernel_samsung_manta

    Kernel Special Features: This kernel is compiled with lastest UBERTC 4.8.5 It features UC/OC, UV, bfq, optimizaed compillation falgs, uksm, frandom, supports f2fs, dynamiclly mounts f2fs/ext4 partitions and more

    Version Information
    Status: Stable
    Stable Release Date: 2015-01-03

    Created 2014-09-27
    Last Updated 2015-01-12

    XDA:DevDB Information
    Khaon's kernel for Nexus 10, Kernel for the Google Nexus 10

    Contributors
    Khaon, Cl3Kener, ktoonsez,dees_troy,cyanogenmod,faux123,franciscofranco,freak_97,despairfactor
    Source Code: https://github.com/Khaon/kernel_samsung_manta

    Kernel Special Features: This kernel is compiled with lastest UBERTC 4.8.5. It features UC/OC, UV, bfq, optimizaed compillation falgs, uksm, frandom, supports f2fs, dynamiclly mounts f2fs/ext4 partitions and more

    Version Information
    Status: Stable
    Stable Release Date: 2015-07-13
    Beta Release Date: 2015-04-17

    Created 2014-09-27
    Last Updated 2015-09-06

    XDA:DevDB Information
    Khaon's kernel for Nexus 10, Kernel for the Google Nexus 10

    Contributors
    Khaon, Cl3Kener, ktoonsez,dees_troy,cyanogenmod,faux123,franciscofranco,freak_97,despairfactor
    Source Code: https://github.com/Khaon/kernel_samsung_manta

    Kernel Special Features: This kernel is compiled with lastest UBERTC 4.8.5. It features UC/OC, UV, bfq, optimizaed compillation falgs, uksm, frandom, supports f2fs, dynamiclly mounts f2fs/ext4 partitions and more

    Version Information
    Status: Stable
    Stable Release Date: 2015-09-08
    Beta Release Date: 2015-04-17

    Created 2014-09-27
    Last Updated 2015-09-08

    XDA:DevDB Information
    Khaon's kernel for Nexus 10, Kernel for the Google Nexus 10

    Contributors
    Khaon, Cl3Kener, ktoonsez,dees_troy,cyanogenmod,faux123,franciscofranco,freak_97,despairfactor
    Source Code: https://github.com/Khaon/kernel_samsung_manta

    Kernel Special Features: This kernel is compiled with lastest UBERTC 4.8.5. It features UC/OC, UV, bfq, optimizaed compillation falgs, uksm, frandom, supports f2fs, dynamiclly mounts f2fs/ext4 partitions and more

    Version Information
    Status: Stable
    Stable Release Date: 2015-09-08
    Beta Release Date: 2015-04-17

    Created 2014-09-27
    Last Updated 2016-04-02
    13
    it's up.

    I have asked kernel audiutor dev to add add gpu voltage control based on the cpu voltage implementation...

    I guess if the dev accept to do that it would be really easy for him.

    If he doesn't, I'll try to make a patchset and pull request it to the kernel audiutor project( as its open source!)
    13
    Hello little update to the kernel:


    • introduced 864 Mhz cache frequencies for 1.6+++ freq.
    • merged with google's androidd 3.4 branch: squashed the following commits:
      • Merge remote-tracking branch 'common/android-3.4' into lollipop
      • ARM: pull in <asm/simd.h> from asm-generic
      • ARM: be strict about FP exceptions in kernel mode
      • ARM: move VFP init to an earlier boot stage
      • crypto: create generic version of ablk_helper
      • ARM: add support for kernel mode NEON
      • crypto: sha - Handle unaligned input data in generic sha256 and sha512.
      • crypto: sha512_generic - set cra_driver_name
      • crypto: sha512 - Expose generic sha512 routine to be callable from other modules
      • crypto: create generic version of ablk_helper
      • defconfig updated:enabled arm crypto
      • KEYS: Provide signature verification with an asymmetric key
      • KEYS: Asymmetric public-key algorithm crypto key subtype
      • KEYS: Implement asymmetric key type
      • crypto: add crypto_[un]register_shashes for [un]registering multiple shash entries at once
      • ARM: 8120/1: crypto: sha512: add ARM NEON implementation
      • ARM: 8119/1: crypto: sha1: add ARM NEON implementation
      • ARM: 8118/1: crypto: sha1/make use of common SHA-1 structures
      • crypto: arm-aes - fix encryption of unaligned data
      • CRYPTO: Fix more AES build errors
      • ARM: add .gitignore entry for aesbs-core.S
      • ARM: add support for bit sliced AES using NEON instructions
      • ARM: move AES typedefs and function prototypes to separate header
      • ARM: 7837/3: fix Thumb-2 bug in AES assembler code
      • ARM: 7723/1: crypto: sha1-armv4-large.S: fix SP handling
      • ARM: 7626/1: arm/crypto: Make asm SHA-1 and AES code Thumb-2 compatible
      • arm/crypto: Add optimized AES and SHA1 routines

    • sync with f2fs upstream branch
    • squashed few commits from CAF:
      • mm: vmscan: lock page on swap error in pageout
      • Staging: android: binder: More offset validation
      • Input: Send events one packet at a time
      • binder: NULL pointer reference
      • staging: binder: add vm_fault handler
      • staging: binder: Change binder mutex to rtmutex.


    report if instablity!
    12
    update:new builds:twrp,rom,kernel

    I have updated the recovery,kernel and optipop rom.

    Here is the changelog since latest one;

    kernel
    • squashed commits from upstream kernel revision:
      • blktrace: fix accounting of partially completed requests
      • block: fix a probe argument to blk_register_region
      • vfs,proc: guarantee unique inodes in /proc
      • mm: fix aio performance regression for database caused by THP
      • ASoC: wm_hubs: Add missing break in hp_supply_event()
      • ALSA: fix oops in snd_pcm_info() caused by ASoC DPCM
      • can: dev: fix nlmsg size calculation in can_get_size()
      • ipv4: fix ineffective source address selection
      • proc connector: fix info leaks
      • net: heap overflow in __audit_sockaddr()
      • net: do not call sock_put() on TIMEWAIT sockets
      • tcp: do not forget FIN in tcp_shifted_skb()
      • tcp: must unclone packets before mangling them
      • OOM, PM: OOM killed task shouldn't escape PM suspend
      • ALSA: pcm: use the same dma mmap codepath both for arm and arm64
      • random: add and use memzero_explicit() for clearing data
      • crypto: more robust crypto_memneq
      • vfs: fix data corruption when blocksize < pagesize for mmaped data
      • target: Fix queue full status NULL pointer for SCF_TRANSPORT_TASK_SENSE
      • block: fix alignment_offset math that assumes io_min is a power-of-2
      • fix misuses of f_count() in ppp and netlink
      • fs: make cont_expand_zero interruptible
      • fs: Fix theoretical division by 0 in super_cache_scan().
      • framebuffer: fix border color
      • power: charger-manager: Fix NULL pointer exception with missing cm-fuel-gauge
      • kvm: don't take vcpu mutex for obviously invalid vcpu ioctls
      • int_sqrt: Improve 3x faster integer sqrt.
      • net: ping: Return EAFNOSUPPORT when appropriate.
      • android: base-cfg: turn off /dev/mem and /dev/kmem
      • net: ipv6: make "ip -6 route get mark xyz" work.
      • Set the iif for IPv6 packets as well.
      • Merge remote-tracking branch 'common/android-3.4' into khaon-new
      • sched: Fix reference to stale task_struct in try_to_wake_up()
      • Merge remote-tracking branch 'common/android-3.4' into khaon-new
      • fs/proc/task_mmu.c: add user-space support for resetting mm->hiwater_rss (peak RSS)

    • gpu:mali:
      • reworked gpu governor table

    • fs:
      • f2fs:updatd to upstream revision

    • defconfig:
      • defconfig:enabled neon features
      • defconfig:add NTFS support

    • cpufreq:
      • cpufreq:ktoonservative:made touch boost smarter
      • cpufreq:interactive:increased DOWN_LOW_LOAD_THRESHOLD to 20%


    Rom(changes from optipop official sources):
    • core:
      • Add support for exec command in init scripts.
      • init: Fix memory corruption when sanitizing platform paths
      • init: Do not call recursive_restorecon on soc.0
      • init: Make restorecon_recursive work for /data/
      • fs_mgr: Skip filesystem check unless fs_type matches
      • Add libminshacrypt static lib

    • device/manta:
      • fstab:removed fastboot and flush_merge mount options
      • twrp:added fstab and updated config
      • manta: Use better mount options
      • BoardConfig:enabled f2fs for userdata image
      • Audio proprietaries from stock ROM
      • Add support for more filesystems
      • Enabled BLE, GATT, SMP (bluetooth low-energy)
      • OTG USB storage support
      • Update full_manta properties
      • ART dex2oat optimisation properties
      • Final final final N5 wallpaper.
      • fstab: enabled f2fs support
      • enable inline kernel building
      • audio_effects:added support for viper4audio
      • post install validation:resize the system partition after installing the rom
      • added reboot to recovery button and screenshot in the power menu
      • manta: add GlobalActionList config
      • call my vendor script
      • enable translucent decor
      • Remove obsolete dalvik.gc.type-precise
      • manta: Enable libm optimizations
      • enabled optipop optimizations
      • power: updated to my personnal library
      • added twrp config for manta

    • TWRP 2.8.5.0:
      • switched to cm12's f2fs tools(1.4.1)
      • use my kernel instead of stock one with f2fs patches



    @drewski_1 Didn't noticed you filled a feature request :D


    I have added support of otg also with my stand alone kernel package, it should patch the fstab properly to make the device compatible with otg, can any user confirm?


    The rom comes with my kernel and support f2fs/ext4 for cache & data partition
    11
    Ok DT2W seems working.

    I have uploaded it in the testing folder

    On this build DT2W is enabled by default. Here are the interresting sysfs entry path :
    Code:
    /sys/devices/platform/s3c2440-i2c.3/i2c-3/3-004a/slide2wake

    1 to enable, 0 to disable

    Code:
    /sys/devices/platform/mali.0/dvfs_upper_lock

    just override current text with you prefered frequency, you can overclock up to 667Mhz with 533 MHz default freq.

    You need a root explorer to edit those file.

    You can also use Aero Kernel that allow you to set up custom sysfs entry paths.


    Also I have opened for kernel audiutor a pull request with those path for dt2w support. I guess in the next days it will be included.