This document discusses task scheduling on adaptive multi-core architectures. It begins by introducing instruction-level parallelism (ILP) and thread-level parallelism (TLP). It then discusses different multi-core architectures like symmetric, asymmetric, and adaptive multi-cores which can seamlessly exploit both ILP and TLP. It presents the Bahurupi adaptive multi-core architecture and describes an optimal task scheduling algorithm to minimize makespan. Experimental results show that adaptive architectures outperform static symmetric and asymmetric architectures for mixed workloads.