Re: PATCHES (unused code/vars...) for 2.3.18ac8

David S. Miller (davem@redhat.com)
Fri, 24 Sep 1999 05:21:11 -0700


Date: Fri, 24 Sep 1999 13:57:44 +0200
From: Thierry vignaud <tvignaud@mandrakesoft.com>

Alan Cox wrote:

> > -asmlinkage long sys_sched_rr_get_interval(pid_t pid, struct timespec *interval)
> > +asmlinkage long sys_sched_rr_get_interval(struct timespec *interval)
> > {
>
> This is a syscall you cant go around deleting arguments

well, as i am on a solaris box for now, i can't check it but it seems to
me it's not in the 169 official syscalls and thus may be optimized by
not push/pop unused parameters. Am i wrong ?

push/pop is a characteristic of x86, on other architectures syscall
arguments are passed in fixed registers, and in fact this is true on
Intel when a function is marked as FASTCALL().

> > +++ drivers/net/8390.c Fri Sep 24 01:59:19 1999
> > @@ -149,7 +149,6 @@
> > int ei_open(struct net_device *dev)
> > {
> > unsigned long flags;
> > - struct ei_device *ei_local = (struct ei_device *) dev->priv;
> >
> > /* This can't happen unless somebody forgot to call ethdev_init(). */
>
> This variable IS used.

Where ?

Via the SMP lock routines when compiling __SMP__.

> > -static inline void flush_tlb_range(struct mm_struct *mm,
> > - unsigned long start, unsigned long end)
> > +static inline void flush_tlb_range(struct mm_struct *mm)
>
> These are values used on other platforms

maybe we can turn this in a macro that developp in
__real_flush_tlb_range on ia32 and other archs where it'sn't used ?

The compiler does this optimization for you.

Please, learn, quickly, that all the world is not x86.

Later,
David S. Miller
davem@redhat.com

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