Messages in this thread | | | Date | Thu, 6 Jan 2005 07:16:08 +0100 | From | Andrea Arcangeli <> | Subject | Re: [PATCH][5/?] count writeback pages in nr_scanned |
| |
On Wed, Jan 05, 2005 at 09:59:09PM -0800, Andrew Morton wrote: > But we do need to watch the CPU consumption in there - end_page_writeback() > already figures fairly high sometimes.
The check for waitqueue_active will avoid all wake_up calls if nobody is waiting in blk_congestion_wait. Plus it won't need to wakeup on all classzones, if we have the other side to reigster on all the zones composing the classzone.
The wakeup is going to be more frequent than the waiter registration.
So we can register the waiter on _all_ the "interested" zones that composes the classzone, instead of the other way around that you suggested in the previous email.
That will reduce the wakeup to a single waitqueue_active, and it shouldn't be too bad.
Same goes for the number of outstanding writebacks, we can collect that number per zone and have blk_congestion_wait returning immediatly if it went to zero on all zones composing the classzone after registering. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |