net: add scheduling point in recvmmsg/sendmmsg
Applications often have to reduce number of datagrams they receive or send per system call to avoid starvation problems. Really the kernel should take care of this by using cond_resched(), so that applications can experiment bigger batch sizes. Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
		
							parent
							
								
									3d171f3907
								
							
						
					
					
						commit
						a78cb84c62
					
				| @ -2041,6 +2041,7 @@ int __sys_sendmmsg(int fd, struct mmsghdr __user *mmsg, unsigned int vlen, | ||||
| 		if (err) | ||||
| 			break; | ||||
| 		++datagrams; | ||||
| 		cond_resched(); | ||||
| 	} | ||||
| 
 | ||||
| 	fput_light(sock->file, fput_needed); | ||||
| @ -2236,6 +2237,7 @@ int __sys_recvmmsg(int fd, struct mmsghdr __user *mmsg, unsigned int vlen, | ||||
| 		/* Out of band data, return right away */ | ||||
| 		if (msg_sys.msg_flags & MSG_OOB) | ||||
| 			break; | ||||
| 		cond_resched(); | ||||
| 	} | ||||
| 
 | ||||
| out_put: | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user