안녕하세요 눈팅만 하던 스피카 입니다.
이번에 갤노트2를 장만하면서 (원래 공부하던게 커널 쪽이라)커널을 기웃기웃하다가가
SJkernel님이 기초 3.0.36 기반으로 하여
NEAK JB Kernel 커널의 패치를 분석하여
적용하여 득이되는것을 적용하였습니다.
저의 경우에는 성능보다는 버그 및 안정성 위주로 신경쓰기 때문에
오버클럭은 되어있지 않지만 일부 언더볼팅이 되어있습니다.
적용된 사항은 다음과 같습니다.
defconfig: disabling WATCHDOG for every config file
bfq v5 applied
block: sio: tweaks
mm.h: Set VM_MAX_READAHEAD to 1024
cpufreq: be sure that scaling_available_freqs is populated (netarchy)
arm: smp: Wrap backtrace IPI with irq_enter/exit
netfilter: xt_qtaguid: fix ipv6 protocol lookup
ARM: SMP: use a timing out completion for cpu hotplug
sched_rt: fix SCHED_RR across cgroups
cpufreq: adding Lazy governor
cpufreq: adding LulzactiveV2 governor
lib/checksum.c: optimize do_csum a bit
lib: Introduce some memory copy macros and functions.
lib: Improve the performance of memcpy and memmove.
init/main.c: execute lockdep_init as early as possible
sched_features: disable GENTLE_FAIR_SLEEPERS
[PATCH] cpufreq_pegasusq: make up_threshold_at_min_freq and
cpufreq: fixes from arighi
mm: SLQB Memory Allocator
Kconfig: removing some debugging dependencies
kernel: CGROUP_TIMER_SLACK
slicing-by-8 algorithm for crc32 and crc32c
RCU: Joe's RCU
mmc: core: put eMMC in sleep (cmd5) mode before suspend
remove ARM based old sha-1 implementation
mali: disabled STATE_TRACKING
RWSEM_XCHGADD_ALGORITHM for ARM (R/W semaphores implemented using ARM…
sec-reboot: support for "reboot bootloader" command
fuelgauge: increase polling interval to save a bit of battery
cpufreq_pegasusq: remove unused cpu up/down freq
mach-exynos: cpuidle-exynos4: set logging default to disabled
scripts: setlocalversion: do not append plus sign
iosched: prevent aliased requests from starving other I/O
lib/sha1: use the git implementation of SHA-1
lib/sha1.c: quiet sparse noise about symbol not declared
bfq: fixing compiling errors due to last block patch
block: strict rq_affinity
CPU unaligned access path
Makefile: vfp: compile as neon
return_address.c: remove stupid warning
kernel: power: prevent DVFS_LOCK_ID_USER lock for min and max frequen…
kernel: power: do not prevent prevent DVFS_LOCK_ID_USER for min level
setlocalversion: do not append -dirty when there are un-committed cha…
init: Kconfig: adding AOSP_ROM flag
mfc5x: fix aosp video recording
leds: finished porting led pulse interface
backlight: use kstrtoul()
init:calibrate: lpj from linux kernel 3.4
aio.c: Asynchronous I/O latency to a solid-state disk greatly increased
to-power: lowered minimum voltages for arm, int, mif and g3d
Adding arch_extension directive
fixing some inlining issues and other linaro related issues
pegasusq: tweakings, cpuidle detection and updates
sensorhub: Fix firmware mislabeling and version checking
ARM: 7011/1: Add ARM cpu topology definition
sched: Ensure cpu_power periodic update
ARM: cpu topology: Enable ARCH_POWER
ARM: topology: save cpu id of each core
ARM: topology: Update topology according to current sched_mc mode
ARM: 7182/1: ARM cpu topology: fix warning
ARM: topology: Add a cpu_power function
ARM: topology: Add a topology update notification
ARM: cpu topology: Add asym topology flag for using cpu0 1st
ARM: cpu topology: add debugfs
cpupower: update the cpu_power according to cpu load
sched: use cpu capacity to decide if a ILB is needed
stand_hotplug: ported NEAK S3 features
mms152_ts: TOUCH_BOOST_CONTROL feature
Finished merging touchscreen mods
ondemand: cpuidle detection
sdhci: Remove Samsung's broken hack
ARM: disable preemption in machine_shutdown
#cpufreq: tweaks for conservative & ondemand 안함
3.0.36 to 3.0.37
3.0.37 to 3.0.38
kthread_worker: reorganize to prepare for flush_kthread_work() reimpl…
kthread_worker: reimplement flush_kthread_work() to allow freeing the…
mutex: Place lock in contended state after fastpath_lock failure
ARM: 7467/1: mutex: use generic xchg-based implementation for ARMv6+
timekeeping: fix 32-bit overflow in get_monotonic_boottime
Various warnings fixed (unused-variable)
regulator: max77686: make max77686 less chatty. we can use dynamic_de…
slub.c: little tweak for performance improvements
3.0.38 to 3.0.39
3.0.39 to 3.0.40
3.0.40 to 3.0.41
3.0.41 to 3.0.42
3.0.42 to 3.0.43
Fix CMD-DMA drivers because they got broken after merging 3.0.39. Sti…
staging: android: updated logger and timed_gpio from official android…
#sync 최적화
sync: allow async waits to be canceled
sync: export sync API symbols
sync: reorder sync_fence_release
sync: optimize fence merges
sync: add internal refcounting to fences
sync: add reference counting to timelines
sync: Fix error paths
sync: change wait timeout to mirror poll semantics
sync: fix erase-o in sync_fence_wait
sync: clean up compiler warnings
sync: dump sync state to console on timeout
sync: use correct signed type when handling SYNC_IOC_WAIT
sync: improve timeout dumps
sync: add missing export.h file ottherwise it doesn't compile.
USB: gadget: s3c: iscochronous endpoint support
3.0.43 to 3.0.44
mach-midas: Add platform CPUPower data
bcmdhd: strip debug of wifi module with debug_kernel on
bcmdhd: Reenable IPv6, disable multicast in suspend
3.0.44 to 3.0.45
3.0.45 to 3.0.46
input: cypress: adding touchkey files (which are missing in original …
sync: dump sync state of fence errors
sync: protect unlocked access to fence status
sync: update new fence status with sync_fence_signal_pt
sync: use proper barriers when waiting indefinitely
sync: refactor sync debug printing
sw_sync: convert to new value_str debug ops
sync: add tracepoint support
export.h: comment struct kernel_symbol because its being re-defined a…
3.0.46 to 3.0.47
3.0.47 to 3.0.48
cypress: user configurable touchled timeout, allow to force disable l…
3.0.48 to 3.0.49
3.0.49 to 3.0.50
mali/ump_r3p0_lsi: added GPU clock and voltage control for CM10
3.0.50 to 3.0.51
mdm: power management changes
wacom: driver and e-pen firmware updates
sensorhub: update driver
Fix camera on ZKF107 firmware
3.0.51 to 3.0.52
bcmdhd: additional wireless driver for cm10
sensorhub: refixing firmware mislabeling
sched: Add missing call to calc_load_exit_idle()
3.0.52 to 3.0.53
3.0.53 to 3.0.54
3.0.54 to 3.0.55
mali: disabled bottom lock
Proportional Rate Reduction for TCP.
mm: Do not stall in synchronous compaction for THP allocations
vmscan: move referenced VM_EXEC pages to active list
ARM: Do not allow unaligned accesses when CONFIG_ALIGNMENT_TRAP Newer…
이외에 제가 패치 보면서 이상한 코드들 정리..
# 사용 된 툴체인 : gcc-linaro-arm-linux-gnueabihf-4.7-2012.11-20121123
최종 커널 버전은 3.0.56이 되겠습니다.
Pegasusq ,SQUB,BFQ 을 기본적용하였습니다.
위에서 보시면 알시겠지만 LED에 fading 이 적용되어있습니다.
또한 touchboost가 적용되어있으며 VOODOO sound도 적용 되어있습니다.
STweak이 설치되며 이미 사용하셔서 설정값이 변경되지 않는 분은 /data/.sjkernel을 지워주시면됩니다.
원래 이 커널은 저 혼자 사용하려고 한것이라서 코드제공이나 타 통신사용으로 제공은 하지않습니다.
아 ... 통신사는 KT 전용이고 CWM으로 플래싱 하시면 됩니다.
#exfat 안됩니다.
#19 4.1.2작동확인
#41 위 내용 적용
#7 haptic feedback 수정완료
dynamic fsync 적용
#10 dynamic fsync을 적용함에 따라 FSYNC_CONTROL V1 적용해제
코드 전체 재컴파일
#11 O2 옵션대신 Ofast로 컴파일
#15 커널과 램디스크 모두 LZO로 패킹하여 부팅시간단축
#18 각 통신사별 SJkernel 0.82RC2 버전의 램디스크 템플릿으로 변경(커널제외)
#19 각 통신사별로 커널 컴파일
#24 추가 버그 수정
sdhci: Remove Samsung's broken hack
sched: use cpu capacity to decide if a ILB is needed
s3cfb: asynchronous vsync notification
mc1n2: Add interface for volume registers
mdnie: black crush fix.
cpufreq_lulzactiveq: add lulzactiveq governor (추가)
mdnie: more silence...
s3cfb: brightness curve mod(조명 밝기 커브 조정)
wakelock: (tungstwenty's implementation) expanded deleted wakelocks to let us see which wakelock they were before they got deleted.
3.0.55 to 3.0.56 로 업데이트
#31 cypress 터치LED 버그 수정
(KT는 잘 작동합니다만 SKT LGT는 확인해보지 못했습니다.)