Re: [patch-2.4.0-test8-pre6] misc fixes

From: Tigran Aivazian (tigran@veritas.com)
Date: Thu Sep 07 2000 - 11:42:19 EST


On Thu, 7 Sep 2000, Tigran Aivazian wrote:

> On Thu, 7 Sep 2000, Linus Torvalds wrote:
>
> >
> >
> > On Thu, 7 Sep 2000, Tigran Aivazian wrote:
> > >
> > > k) all swapout functions in mm/vmscan.c can be optimized by removing 'mm'
> > > argument. This part was reviewed by Rick van Riel and approved.
> >
> > But they then get "mm" themselves anyway.
> >
> > What's the point? With argument passing, on certain architectures it stays
> > in registers. On other architectures it is in memory on the stack, but
> > that's not slower than accessing it from memory off another pointer.
> >
> > Linus
>
> Linus, I am sorry to say this (because I know you are busy) but it would
> appear you didn't look at the patch (that part of it). The patch does the
> right thing, I believe, but my description was too brief.
>
> If you look at those functions you will see that they sometimes access
> 'mm' via argument and sometimes via vm_mm->mm - this is a complete mess so
> my patch tidies it up a bit.
>
> In other words, if that 'mm' is available via vm_mm->mm there is no point
> in passing it on the stack. Or if we pass it on the stack, there is no
> point accessing it via vm_mm->mm. See my point now?

in case, even this is too brief, here is more:

... so, I had a choice between:

a) remove 'mm' argument

or

b) make all access to 'mm' go via this 'mm' argument

and I thought removing the argument, i.e. choice a) was better than b).

And, yes, I do understand how arguments are passed and what gcc can do
about it.

Regards,
Tigran

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



This archive was generated by hypermail 2b29 : Thu Sep 07 2000 - 21:00:30 EST