Hi, Please consider applying. Description: Use msleep() instead of schedule_timeout() to guarantee the task delays as expected. The code, as is, is not wrong; however I see two reasons to use msleep(): 1) consistency across the kernel; and 2) milliseconds are far more human-comprehensible than jiffies. Signed-off-by: Nishanth Aravamudan Signed-off-by: Domen Puncer --- kj-domen/net/sunrpc/svcsock.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -puN net/sunrpc/svcsock.c~msleep-net_sunrpc_svcsock net/sunrpc/svcsock.c --- kj/net/sunrpc/svcsock.c~msleep-net_sunrpc_svcsock 2005-01-23 00:24:19.000000000 +0100 +++ kj-domen/net/sunrpc/svcsock.c 2005-01-23 00:24:19.000000000 +0100 @@ -31,6 +31,7 @@ #include #include #include +#include #include #include #include @@ -1167,8 +1168,7 @@ svc_recv(struct svc_serv *serv, struct s while (rqstp->rq_arghi < pages) { struct page *p = alloc_page(GFP_KERNEL); if (!p) { - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(HZ/2); + msleep(500); continue; } rqstp->rq_argpages[rqstp->rq_arghi++] = p; _