From patchwork Tue Jul 19 18:37:58 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shirley Ma X-Patchwork-Id: 105506 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 2149AB6F68 for ; Wed, 20 Jul 2011 04:38:25 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751144Ab1GSSiU (ORCPT ); Tue, 19 Jul 2011 14:38:20 -0400 Received: from e9.ny.us.ibm.com ([32.97.182.139]:36535 "EHLO e9.ny.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751103Ab1GSSiT (ORCPT ); Tue, 19 Jul 2011 14:38:19 -0400 Received: from d01relay03.pok.ibm.com (d01relay03.pok.ibm.com [9.56.227.235]) by e9.ny.us.ibm.com (8.14.4/8.13.1) with ESMTP id p6JI65Ug006736 for ; Tue, 19 Jul 2011 14:06:05 -0400 Received: from d01av03.pok.ibm.com (d01av03.pok.ibm.com [9.56.224.217]) by d01relay03.pok.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id p6JIcHhx115280 for ; Tue, 19 Jul 2011 14:38:18 -0400 Received: from d01av03.pok.ibm.com (loopback [127.0.0.1]) by d01av03.pok.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id p6JEc0Ir015598 for ; Tue, 19 Jul 2011 11:38:05 -0300 Received: from [9.65.25.30] (sig-9-65-25-30.mts.ibm.com [9.65.25.30]) by d01av03.pok.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id p6JEblFH014089; Tue, 19 Jul 2011 11:37:48 -0300 Subject: [PATCH net-next]vhost: fix condition check for # of outstanding dma buffers From: Shirley Ma To: David Miller , mst@redhat.com Cc: netdev@vger.kernel.org, jasowang@redhat.com Date: Tue, 19 Jul 2011 11:37:58 -0700 Message-ID: <1311100678.8573.16.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.28.3 (2.28.3-1.fc12) Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Signed-off-by: Shirley Ma --- drivers/vhost/net.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c index 70ac604..83cb738 100644 --- a/drivers/vhost/net.c +++ b/drivers/vhost/net.c @@ -189,8 +189,10 @@ static void handle_tx(struct vhost_net *net) break; } /* If more outstanding DMAs, queue the work */ - if (unlikely(vq->upend_idx - vq->done_idx > - VHOST_MAX_PEND)) { + if (unlikely((vq->upend_idx - vq->done_idx > + VHOST_MAX_PEND) || + (vq->upend_idx - vq->done_idx > + VHOST_MAX_PEND - UIO_MAXIOV))) { tx_poll_start(net, sock); set_bit(SOCK_ASYNC_NOSPACE, &sock->flags); break;