Messages in this thread |  | | Date | Thu, 7 Sep 2000 17:42:19 +0100 (BST) | From | Tigran Aivazian <> | Subject | Re: [patch-2.4.0-test8-pre6] misc fixes |
| |
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/
|  |