[$] Replacing congestion_wait()
Memory management is a balancing act in a number of ways. The kernel mustbalance the needs of current users of memory with anticipated future needs,for example. The kernel must also balance the act of reclaiming memory for other uses, which can involvewriting data to permanent storage, with the rate of data that theunderlying storage devices are able to accept. For years, thememory-management subsystem has used storage-device congestion as a signalthat it should slow down reclaim. Unfortunately, that mechanism, which wasa bit questionable from the beginning, has not worked in a long time. MelGorman is now trying to fix this problem with apatch set that moves the kernel away from the idea of waiting on congestion.