BY: http://tomatousb.org/forum/t-279646/
The page allocation failures are not just happening out of nowhere… When posting about such issues, it would help to tell what you run either on your router, or on the connected clients, and what is your router model. The most probable reason for these errors are running unrestricted torrents (which is never a good idea), or other network activity generating lots and lots of connections and making NAT to work hard.
The best way to deal with these errors is to put restrictions on the processes that cause them - i.e. for torrents it's to limit the number of connections and bandwidth. If you're unable or not willing to make these restrictions for any reason, you can also try to increase the value in "/proc/sys/vm/min_free_kbytes" - that should help to reduce the number of these errors (the more the number, the less errors you will see, but it will also decrease the memory available for user space applications).
It has nothing to do with swap really, if you don't have swap activated you'd get the same error from other process - whichever caused the failed kernel page allocation.
As I mentioned above, any network activity that is making NAT to work hard (generates lots of connections) can cause this - even if the application (transmission) runs on the client machine and not on the router. Of course, running Transmission on the router itself will make it worse. Running other memory-hungry applications on the router will reduce the amount of free RAM and make it worse. And if your router has lots of memory, like RT-N16, you may not experience this problem at all unless you run Transmission on the router. Less RAM -> more likely you get the error. Smaller page allocation buffer (min_free_kbytes) -> more likely the failure.