First  |  Prev |  Next  |  Last
Pages: 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418
kill unnecessary SB sync wake-ups + cleanups
On Thu, 2010-07-22 at 09:50 +0100, Al Viro wrote: 2. pick up patches 1-6 from this series, this would make my life easier a bit. I'm not sure then what do do with: Will be in for-next tonight. See them now, thanks. -- Best Regards, Artem Bityutskiy (Артём Битюцкий) -- To unsu... 25 Jul 2010 06:32
kill unnecessary bdi wakeups + cleanups
On Sun, 2010-07-25 at 11:29 +0300, Artem Bityutskiy wrote: Changes since v4 Most patches are intact. Only patches N9, N10 and N14 were changed. And patch N15 was added. Also, now I tested the patch-set much better. 1. Fix a bug found while testing: in the forker thread, when we create a bdi task a... 5 Aug 2010 05:53
[PATCHv5 09/15] writeback: restructure bdi forker loop a little
From: Artem Bityutskiy <Artem.Bityutskiy(a)> This patch re-structures the bdi forker a little: 1. Add 'bdi_cap_flush_forker(bdi)' condition check to the bdi loop. The reason for this is that the forker thread can start _before_ the 'BDI_registered' flag is set (see 'bdi_register()'), so the WARN() st... 25 Jul 2010 05:29
[PATCHv5 03/15] writeback: do not lose wake-ups in the forker thread - 1
From: Artem Bityutskiy <Artem.Bityutskiy(a)> Currently the forker thread can lose wake-ups which may lead to unnecessary delays in processing bdi works. E.g., consider the following scenario. 1. 'bdi_forker_thread()' walks the 'bdi_list', finds out there is nothing to do, and is about to finish the lo... 25 Jul 2010 05:29
[PATCHv5 15/15] writeback: cleanup bdi_register
From: Artem Bityutskiy <Artem.Bityutskiy(a)> This patch makes sure we first initialize everything and set the BDI_registered flag, and only after this we add the bdi to 'bdi_list'. Current code adds the bdi to the list too early, and as a result I the WARN(!test_bit(BDI_registered, &bdi->state) in bdi... 25 Jul 2010 05:29
[PATCHv5 08/15] writeback: move last_active to bdi
From: Artem Bityutskiy <Artem.Bityutskiy(a)> Currently bdi threads use local variable 'last_active' which stores last time when the bdi thread did some useful work. Move this local variable to 'struct bdi_writeback'. This is just a preparation for the further patches which will make the forker thread decid... 25 Jul 2010 05:29
[PATCHv5 02/15] writeback: fix possible race when creating bdi threads
From: Artem Bityutskiy <Artem.Bityutskiy(a)> This patch fixes a very unlikely race condition on the bdi forker thread error path: when bdi thread creation fails, 'bdi->wb.task' may contain the error code for a short period of time. If at the same time someone submits a work to this bdi, we can end up with ... 25 Jul 2010 05:29
[PATCHv5 11/15] writeback: prevent unnecessary bdi threads wakeups
From: Artem Bityutskiy <Artem.Bityutskiy(a)> Finally, we can get rid of unnecessary wake-ups in bdi threads, which are very bad for battery-driven devices. There are two types of activities bdi threads do: 1. process bdi works from the 'bdi->work_list' 2. periodic write-back So there are 2 sources of... 25 Jul 2010 05:29
[PATCHv5 07/15] writeback: do not remove bdi from bdi_list
From: Artem Bityutskiy <Artem.Bityutskiy(a)> The forker thread removes bdis from 'bdi_list' before forking the bdi thread. But this is wrong for at least 2 reasons. Reason #1: if we temporary remove a bdi from the list, we may miss works which would otherwise be given to us. Reason #2: this... 25 Jul 2010 05:29
[PATCHv5 06/15] writeback: simplify bdi code a little
From: Artem Bityutskiy <Artem.Bityutskiy(a)> This patch simplifies bdi code a little by removing the 'pending_list' which is redundant. Indeed, currently the forker thread ('bdi_forker_thread()') is working like this: 1. In a loop, fetch all bdi's which have works but have no writeback thread and mov... 25 Jul 2010 05:28
First  |  Prev |  Next  |  Last
Pages: 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418