Updated Kernel Source and Optimizations

Change-Id: Ia3d68b2efae2954ca684d2391c9c169d62acfaf8