Messages in this thread | | | Date | Tue, 15 Jan 2008 13:42:09 +0000 | From | Alan Cox <> | Subject | Re: [RFC][PATCH 3/5] add /dev/mem_notify device |
| |
> current wake up order is simply FIFO by poll(2) called. > because the VM cannot know how much amount each process can do in free. > the process rss and freeable memory is not proportional.
Ok this makes sense. > > thus I adopt wake up one after another until restoration memory shortage. > > > > It also appears there is no way to wait for memory shortages (processes > > that can free memory easily) only for memory to start appearing. > > poll() with never timeout don't fill your requirement? > to be honest, maybe I don't understand your afraid yet. sorry.
My misunderstanding. There is in fact no way to wait for memory to become available. The poll() method you provide works nicely waiting for shortages and responding to them by freeing memory.
It would be interesting to add FASYNC support to this. Some users have asked for a signal when memory shortage occurs (as IBM AIX provides this). FASYNC support would allow a SIGIO to be delivered from this device when memory shortages occurred. Poll as you have implemented is of course the easier way for a program to monitor memory and a better interface.
Alan
| |