On 08/28/2018 07:22 PM, Andrew Morton wrote: > On Tue, 28 Aug 2018 16:10:24 -0700 Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > >> On Tue, Aug 28, 2018 at 3:29 PM Waiman Long <longman@xxxxxxxxxx> wrote: >>> Yes, I can rewrite it. What is the problem with the abbreviated form? >> Either gcc rewrites it for you, or you end up _actually_ using a >> function pointer and calling through it. >> >> The latter would be absolutely horribly bad for something like >> "list_add()", which should expand to just a couple of instructions. >> >> And the former would be ok, except for the "you wrote code the garbage >> way, and then depended on the compiler fixing it up". Which we >> generally try to avoid in the kernel. >> >> (Don't get me wrong - we definitely depend on the compiler doing a >> good job at CSE and dead code elimination etc, but generally we try to >> avoid the whole "compiler has to rewrite code to be good" model). >> > And the "abbreviated form" will surely explode if one or both of those > "functions" happens to be implemented (or later reimplemented) as a macro. > It's best not to unnecessarily make such assumptions. > Yes, that is true. Thanks, Longman