This compiles the ktapvm as one huge C file and allows GCC to generate faster and shorter code.
No amalgamation build in x86_64: ktapvm.ko: 3.1M amalgamation build in x86_64: ktapvm.ko: 1.1M User can set use amalgamation build or not in Makefile. (Need to analyze further why have so big differences) Signed-off-by: Jovi Zhangwei <jovi.zhang...@gmail.com> --- kernel/trace/ktap/amalg.c | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 kernel/trace/ktap/amalg.c diff --git a/kernel/trace/ktap/amalg.c b/kernel/trace/ktap/amalg.c new file mode 100644 index 0000000..9935ccf --- /dev/null +++ b/kernel/trace/ktap/amalg.c @@ -0,0 +1,37 @@ +/* + * amalg.c - ktapvm kernel module amalgamation. + * + * This file is part of ktap by Jovi Zhangwei. + * + * Copyright (C) 2012-2014 Jovi Zhangwei <jovi.zhang...@gmail.com>. + * + * ktap is free software; you can redistribute it and/or modify it + * under the terms and conditions of the GNU General Public License, + * version 2, as published by the Free Software Foundation. + * + * ktap is distributed in the hope it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "ktap.c" +#include "kp_obj.c" +#include "kp_bcread.c" +#include "kp_str.c" +#include "kp_mempool.c" +#include "kp_tab.c" +#include "kp_transport.c" +#include "kp_vm.c" +#include "kp_events.c" +#include "lib_base.c" +#include "lib_ansi.c" +#include "lib_kdebug.c" +#include "lib_timer.c" +#include "lib_table.c" +#include "lib_net.c" + -- 1.8.1.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/