Messages in this thread Patch in this message | | | Date | Sat, 29 Mar 1997 11:26:51 +0100 (MET) | From | Ingo Molnar <> | Subject | Re: SMP update: 2.1.30 |
| |
On Sat, 29 Mar 1997, Mark Hemment wrote:
> 2.1.30 sucks up system time (at least on my 486DX33 8MB test target). > When compiling a kernel, 2.1.30 spends almost 50% more time inside the > kernel than 2.1.29.
have you turned SMP off in the top Makefile? LCT#15 (Linus Cute Trick #15)
> The problem is the change of search order in get_empty_inode(). Changing > i_prev back to i_next resolves the problem. > > Ingo, wasn't this a performance change for NFS?
duh. nope. wait, does the following help:
---------------------------------------------------------------> --- linux-2.1.30_vanilla/fs/inode.c Fri Mar 28 12:31:53 1997 +++ linux/fs/inode.c Sat Mar 29 12:20:43 1997 @@ -523,6 +523,7 @@ if (best->i_count) goto repeat; found_good: + first_inode = best; clear_inode(best); best->i_count = 1; best->i_nlink = 1; <--------------------------------------------------------------- the problem is that free inodes are inserted in chunks, and get_free_inode() gets the wrong end ... by moving first_inode we can get around this: free inodes get always inserted before first_inode and we search the list backwards.
( i've noticed this one, but Thomas Schoebel-Theuer wrote me about his new inode implementation, so i didnt care about it. Then Linus put my half-done patch suggestion into 2.1.30 ... )
please tell me if this fixes the problem so i can post it to linux-kernel.
Ingo
| |