Basically, you are running out of GFP_ATOMIC memory. IPoIB's handling of these allocation errors can definitely be improved, but one thing you could try in the meantime would be to increase /proc/sys/vm/min_free_kbytes. - R.