2006-01-03 08:13:49

by Denis Vlasenko

[permalink] [raw]
Subject: [PATCH] fix warning in 8250.c

CC drivers/serial/8250.o
/.1/usr/srcdevel/kernel/linux-2.6.15-rc7.src/drivers/serial/8250.c:1085: warning: 'transmit_chars' declared inline after being called
/.1/usr/srcdevel/kernel/linux-2.6.15-rc7.src/drivers/serial/8250.c:1085: warning: previous declaration of 'transmit_chars' was here

Since this function is not small, inlining effect is way below noise floor.
Let's just remove _INLINE_.
--
vda


Attachments:
(No filename) (410.00 B)
linux-2.6.15-rc7.inline.patch (809.00 B)
Download all attachments

2006-01-04 18:14:39

by Russell King

[permalink] [raw]
Subject: Re: [PATCH] fix warning in 8250.c

On Tue, Jan 03, 2006 at 10:12:48AM +0200, Denis Vlasenko wrote:
> CC drivers/serial/8250.o
> /.1/usr/srcdevel/kernel/linux-2.6.15-rc7.src/drivers/serial/8250.c:1085: warning: 'transmit_chars' declared inline after being called
> /.1/usr/srcdevel/kernel/linux-2.6.15-rc7.src/drivers/serial/8250.c:1085: warning: previous declaration of 'transmit_chars' was here
>
> Since this function is not small, inlining effect is way below noise floor.
> Let's just remove _INLINE_.

I think we want to remove _INLINE_ from both receive_chars and
transmit_chars. Both functions aren't small, so...

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 Serial core

2006-01-04 18:18:05

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [PATCH] fix warning in 8250.c

On Wed, Jan 04, 2006 at 06:14:25PM +0000, Russell King wrote:
> On Tue, Jan 03, 2006 at 10:12:48AM +0200, Denis Vlasenko wrote:
> > CC drivers/serial/8250.o
> > /.1/usr/srcdevel/kernel/linux-2.6.15-rc7.src/drivers/serial/8250.c:1085: warning: 'transmit_chars' declared inline after being called
> > /.1/usr/srcdevel/kernel/linux-2.6.15-rc7.src/drivers/serial/8250.c:1085: warning: previous declaration of 'transmit_chars' was here
> >
> > Since this function is not small, inlining effect is way below noise floor.
> > Let's just remove _INLINE_.
>
> I think we want to remove _INLINE_ from both receive_chars and
> transmit_chars. Both functions aren't small, so...

While we're at it can we please kill _INLINE_? Those functions that should
be inlined can become inline, but this macro just obsfucates the serial code.

2006-01-04 19:12:49

by Russell King

[permalink] [raw]
Subject: Re: [PATCH] fix warning in 8250.c

On Wed, Jan 04, 2006 at 06:18:01PM +0000, Christoph Hellwig wrote:
> On Wed, Jan 04, 2006 at 06:14:25PM +0000, Russell King wrote:
> > On Tue, Jan 03, 2006 at 10:12:48AM +0200, Denis Vlasenko wrote:
> > > CC drivers/serial/8250.o
> > > /.1/usr/srcdevel/kernel/linux-2.6.15-rc7.src/drivers/serial/8250.c:1085: warning: 'transmit_chars' declared inline after being called
> > > /.1/usr/srcdevel/kernel/linux-2.6.15-rc7.src/drivers/serial/8250.c:1085: warning: previous declaration of 'transmit_chars' was here
> > >
> > > Since this function is not small, inlining effect is way below noise floor.
> > > Let's just remove _INLINE_.
> >
> > I think we want to remove _INLINE_ from both receive_chars and
> > transmit_chars. Both functions aren't small, so...
>
> While we're at it can we please kill _INLINE_? Those functions that should
> be inlined can become inline, but this macro just obsfucates the serial code.

No idea - I don't know about x86 nuances and why they wanted:

#if defined(__i386__) && (defined(CONFIG_M386) || defined(CONFIG_M486))
#define _INLINE_ inline
#else
#define _INLINE_
#endif

Maybe someone in the x86 world needs to comment? Does the above even
mean that we'll ever inline anything marked _INLINE_ ?

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 Serial core

2006-01-04 23:49:59

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH] fix warning in 8250.c

Russell King <[email protected]> wrote:
>
> > While we're at it can we please kill _INLINE_? Those functions that should
> > be inlined can become inline, but this macro just obsfucates the serial code.
>
> No idea - I don't know about x86 nuances and why they wanted:
>
> #if defined(__i386__) && (defined(CONFIG_M386) || defined(CONFIG_M486))
> #define _INLINE_ inline
> #else
> #define _INLINE_
> #endif
>
> Maybe someone in the x86 world needs to comment? Does the above even
> mean that we'll ever inline anything marked _INLINE_ ?

I suspect the reasoning behind this is lost in the mists of pre-bk time.
I'd be inclined to just nuke it and see what happens. Nothing, I expect.