[lkml]   [2012]   [Feb]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH 1/2 v2] rmap: Make page_referenced_file and page_referenced_anon inline
On Fri, 17 Feb 2012 10:26:38 -0500
Kautuk Consul <> wrote:

> Inline the page_referenced_anon and page_referenced_file
> functions.
> These functions are called only from page_referenced.
> Signed-off-by: Kautuk Consul <>

Hmm ? In my environ,

before patch.

[kamezawa@bluextal linux]$ size mm/rmap.o
text data bss dec hex filename
11474 0 24 11498 2cea mm/rmap.o
(8833) (optimize-for-size=y)
After patch.

[kamezawa@bluextal linux]$ size mm/rmap.o
text data bss dec hex filename
11422 0 24 11446 2cb6 mm/rmap.o
(8775) (optimize-for-size=y)

text size is 50bytes decreased. But I wonder page_referenced_anon/file
is enough large function which is not inlined by hand in usual...

From Documentation/CodingStyle Chapter15: The inline disease
A reasonable rule of thumb is to not put inline at functions that have more
than 3 lines of code in them. An exception to this rule are the cases where
a parameter is known to be a compiletime constant, and as a result of this
constantness you *know* the compiler will be able to optimize most of your
function away at compile time. For a good example of this later case, see
the kmalloc() inline function.

Often people argue that adding inline to functions that are static and used
only once is always a win since there is no space tradeoff. While this is
technically correct, gcc is capable of inlining these automatically without
help, and the maintenance issue of removing the inline when a second user
appears outweighs the potential value of the hint that tells gcc to do
something it would have done anyway.

I'm sorry but I don't Ack this.


 \ /
  Last update: 2012-02-20 04:09    [W:0.044 / U:3.476 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site