Re: [PATCH v2 16/29] ktap: add amalgamation build(kernel/trace/ktap/amalg.c)

From: Li Zefan
Date: Sun Mar 30 2014 - 22:18:38 EST


On 2014/3/28 22:45, Jovi Zhangwei wrote:
> 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)
>

Let's drop this patch for now to make the patchset smaller ?

> Signed-off-by: Jovi Zhangwei <jovi.zhangwei@xxxxxxxxx>
> ---
> 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.zhangwei@xxxxxxxxx>.
> + *
> + * 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"
> +
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/