Hi Linus,

Here's a small optimization for the mm/filemap.c file.

        - The `head = &mapping->pages;' statement is useless inside the
          repeat, since head isn't modified inside the loop.
        - The `curr = curr->next;' statement doesn't need to be executed
          if the repeat is taken. I changed the while() into a for() loop
          to accomodate this better.

Share and enjoy!

-- 
|| Bill Wendling                        [EMAIL PROTECTED]
--- linux-2.4.0-test8/mm/filemap.c      Sat Sep  9 02:35:09 2000
+++ linux-2.4.0-test8-new/mm/filemap.c  Thu Sep 14 03:14:06 2000
@@ -189,16 +189,14 @@
        unsigned long start;
 
        start = (lstart + PAGE_CACHE_SIZE - 1) >> PAGE_CACHE_SHIFT;
+       head = &mapping->pages;
 
 repeat:
-       head = &mapping->pages;
        spin_lock(&pagecache_lock);
-       curr = head->next;
-       while (curr != head) {
+       for (curr = head->next; curr != head; curr = curr->next) {
                unsigned long offset;
 
                page = list_entry(curr, struct page, list);
-               curr = curr->next;
                offset = page->index;
 
                /* Is one of the pages to truncate? */

Reply via email to