Messages in this thread | | | Date | Thu, 03 Jul 1997 15:18:40 -0400 | From | Bill Hawes <> | Subject | refill_freelist futility |
| |
In the discussion of the changes to refill_freelist, one factor that has been overlooked is that there are a number of places where the code will block, allowing other tasks to steal away the buffers freed up by the task running refill_freelist. This is especially true of the blocking call to wakeup bdflush. Thus even when the refill_freelist finally gets the needed amount of memory, little of it may be available after returning.
Since the "needed" amount is more-or-less arbitrary, wouldn't it be better to return if _some_ buffers have been freed? That is, wake up bdflush if there are dirty buffers, but return to the caller instead of waiting.
| |