[PATCH]dose it make get_swap_page(mm/swapfiles.c) good performance ?, kernel<2.6.22.9>.

From: ohyama_sec
Date: Fri Oct 05 2007 - 20:37:34 EST


-hiroyasu ohyama

I wonder what corrected attached source makes good performance of
getting page slot cluster from page area discripter which is written
"si" in the source codes.
Because I think head of swap_list_t discripter doesn't suggest index of
swap area which is same priority that swap_list.next but one which is
the highest priority in the priority's list.
the si->swap_map which have high priority may be chosen by
get_swap_page(), so that page slot of low priority's swap area may have
more blank cluster than one of hich priority's swap area.
Then, I think substitute "swap_list.head" for "next" is privent them
from finding cluster of page slot when "swap_info[next].prio"'s priority
is different swap_list.next.

---

*** mm/swapfile_bck.c 2007-10-04 12:09:37.000000000 +0900
--- mm/swapfile.c 2007-10-04 12:31:34.000000000 +0900
***************
*** 186,193 ****
for (type = swap_list.next; type >= 0 && wrapped < 2; type = next) {
si = swap_info + type;
next = si->next;
! if (next < 0 ||
! (!wrapped && si->prio != swap_info[next].prio)) {
next = swap_list.head;
wrapped++;
}
--- 186,192 ----
for (type = swap_list.next; type >= 0 && wrapped < 2; type = next) {
si = swap_info + type;
next = si->next;
! if (next < 0) {
next = swap_list.head;
wrapped++;
}



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