All of lore.kernel.org
 help / color / mirror / Atom feed
From: Con Kolivas <kernel@kolivas.org>
To: Jesper Juhl <jesper.juhl@gmail.com>
Cc: "linux-kernel" <linux-kernel@vger.kernel.org>
Subject: Re: [RFC][PATCH] inline a few tiny functions in init/initramfs.c
Date: Sat, 24 Sep 2005 14:15:43 +1000	[thread overview]
Message-ID: <200509241415.43773.kernel@kolivas.org> (raw)
In-Reply-To: <200509240126.26575.jesper.juhl@gmail.com>

On Sat, 24 Sep 2005 09:26, Jesper Juhl wrote:
> A few functions in init/initramfs.c are so simple that I don't see why
> *any* point in them having to bear the cost of a function call.
> Wouldn't something like the patch below make sense ?

> -static void __init *malloc(size_t size)
> +static inline void __init *malloc(size_t size)
>  {
>  	return kmalloc(size, GFP_KERNEL);

maybe it looks like it would, but kmalloc looks like this:

85 static inline void *kmalloc(size_t size, int flags)
86 {
87         if (__builtin_constant_p(size)) {
88                 int i = 0;
89 #define CACHE(x) \
90                 if (size <= x) \
91                         goto found; \
92                 else \
93                         i++;
94 #include "kmalloc_sizes.h"
95 #undef CACHE
96                 {
97                         extern void __you_cannot_kmalloc_that_much(void);
98                         __you_cannot_kmalloc_that_much();
99                 }
100 found:
101                 return kmem_cache_alloc((flags & GFP_DMA) ?
102                         malloc_sizes[i].cs_dmacachep :
103                         malloc_sizes[i].cs_cachep, flags);
104         }
105         return __kmalloc(size, flags);
106 }

which is not a one liner to inline at all

> -static void __init free(void *where)
> +static inline void __init free(void *where)
>  {
>  	kfree(where);

kfree ok since it's a void function of its own

>  static __initdata char *header_buf, *symlink_buf, *name_buf;
>
> -static int __init do_start(void)
> +static inline int __init do_start(void)
>  {
>  	read_into(header_buf, 110, GotHeader);

read_into ok as well.

Cheers,
Con

  reply	other threads:[~2005-09-24  4:15 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-23 23:26 [RFC][PATCH] inline a few tiny functions in init/initramfs.c Jesper Juhl
2005-09-24  4:15 ` Con Kolivas [this message]
2005-09-24  4:52   ` Nick Piggin
2005-09-28  0:07     ` Jesper Juhl
2005-09-28  1:56       ` Nick Piggin
2005-09-28  3:01         ` Coywolf Qi Hunt
2005-09-28 21:38           ` Jesper Juhl

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200509241415.43773.kernel@kolivas.org \
    --to=kernel@kolivas.org \
    --cc=jesper.juhl@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.