lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20071006000403.DF6E2378020@ns.ariel-networks.com>
Date:	Sat,  6 Oct 2007 09:04:03 +0900 (JST)
From:	ohyama_sec@...el-networks.com
To:	linux-kernel@...r.kernel.org
Subject: [PATCH]dose it make get_swap_page(mm/swapfiles.c) good performance ?, kernel<2.6.22.9>.

-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@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ