[PATCH] Can you omit a part of processing of initialization in __pdflush. kernel<2.6.23>.

From: ohyama_sec
Date: Sun Oct 28 2007 - 06:09:34 EST


- hiroyasu ohyama

I think it doesn't have to initialize function callback function which is member of pdflush_work discripter twice and It should do that in head of in infinity loop before calling schedule(). Because the latter initialization which is executed at the 143th line of the mm/pdflush.c has done in order to be reused. And I think if it initialize that in the head of loop, the former which is initialized at the 96th line can omit doing that.

---

*** mm/pdflush_bck.c 2007-10-28 15:51:08.000000000 +0900
--- mm/pdflush.c 2007-10-28 15:51:28.000000000 +0900
***************
*** 93,99 ****
{
current->flags |= PF_FLUSHER | PF_SWAPWRITE;
set_freezable();
- my_work->fn = NULL;
my_work->who = current;
INIT_LIST_HEAD(&my_work->list);

--- 93,98 ----
***************
*** 102,107 ****
--- 101,107 ----
for ( ; ; ) {
struct pdflush_work *pdf;

+ my_work->fn = NULL;
set_current_state(TASK_INTERRUPTIBLE);
list_move(&my_work->list, &pdflush_list);
my_work->when_i_went_to_sleep = jiffies;
***************
*** 140,146 ****
}

spin_lock_irq(&pdflush_lock);
- my_work->fn = NULL;

/*
* Thread destruction: For how long has the sleepiest
--- 140,145 ----

-
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/