From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751361AbdE2VSw (ORCPT ); Mon, 29 May 2017 17:18:52 -0400 Received: from alt22.smtp-out.videotron.ca ([70.80.0.73]:28886 "EHLO alt22.smtp-out.videotron.ca" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751196AbdE2VSL (ORCPT ); Mon, 29 May 2017 17:18:11 -0400 X-Authority-Analysis: v=2.1 cv=QfzGxpvv c=1 sm=1 tr=0 a=keA3yYpnlypCNW5BNWqu+w==:117 a=keA3yYpnlypCNW5BNWqu+w==:17 a=L9H7d07YOLsA:10 a=9cW_t1CCXrUA:10 a=s5jvgZ67dGcA:10 a=tJ8p9aeEuA8A:10 a=KD78AxLimrIMB15zPRcA:9 From: Nicolas Pitre To: Ingo Molnar , Peter Zijlstra Cc: linux-kernel@vger.kernel.org Subject: [PATCH 0/7] scheduler tinification Date: Mon, 29 May 2017 17:02:55 -0400 Message-Id: <20170529210302.26868-1-nicolas.pitre@linaro.org> X-Mailer: git-send-email 2.9.4 X-CMAE-Envelope: MS4wfKhEzEIu+GVD8EnCoyjHQFKrrn37KHu561Je/qdNW2dd4jnaHVLhVtM19iO9DwEls2wgs4u6DNUUR59IDQdaZoNIoPoYLJmAjnZmn8owQVT5wTMv4EWN YDtXsSAVnYfKvqm/b8cFyiinouzndYttQEGkoMsurbySQedE1Yid/FG1YV7LCo03TETJmh6kUSGfanUZVrh9CuLZ4DzsEk3mrVo2agltDM0SckP2J3z52IHN Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Many embedded systems don't need the full scheduler support. Most of the time, user space is tightly controlled and many of the scheduler facilities are simply unused. This patch series makes it possible to configure out some parts of the scheduler such as the deadline and realtime scheduler classes. The saving in kernel footprint is non negligible. Small ARM kernel config before this series: text data bss dec hex filename 28623 3404 128 32155 7d9b kernel/sched/built-in.o With this series and dl and rt classes disabled: text data bss dec hex filename 20734 3334 40 24108 5e2c kernel/sched/built-in.o And for the record, my Fedora workstation still boots and apparently runs fine with those patches activated. I didn't test it at length though. A significant part of the remaining code is support for various system calls that could be automatically removed when user space doesn't use them but that is a topic for another day. diffstat for this series: include/linux/init_task.h | 15 +- include/linux/rtmutex.h | 69 ++++ include/linux/sched.h | 4 + include/linux/sched/deadline.h | 2 +- include/linux/sched/rt.h | 4 +- init/Kconfig | 23 +- kernel/locking/Makefile | 2 + kernel/locking/rtmutex.c | 9 + kernel/sched/Makefile | 7 +- kernel/sched/core.c | 777 +++++------------------------------ kernel/sched/deadline.c | 336 +++++++++++++++ kernel/sched/debug.c | 6 + kernel/sched/rt.c | 320 ++++++++++++++- kernel/sched/sched.h | 35 +- kernel/sched/stop_task.c | 6 + kernel/sched/topology.c | 6 + kernel/sysctl.c | 4 +- kernel/time/posix-cpu-timers.c | 6 +- lib/Kconfig.debug | 2 +- 19 files changed, 930 insertions(+), 703 deletions(-)