From patchwork Mon Jan 28 14:24:07 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bandan Das X-Patchwork-Id: 10783813 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id B28BF91E for ; Mon, 28 Jan 2019 14:32:53 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A32372AFC8 for ; Mon, 28 Jan 2019 14:32:53 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id A19942AFCD; Mon, 28 Jan 2019 14:32:53 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 599D72AFCA for ; Mon, 28 Jan 2019 14:32:53 +0000 (UTC) Received: from localhost ([127.0.0.1]:32921 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1go7y0-0004Bj-Fk for patchwork-qemu-devel@patchwork.kernel.org; Mon, 28 Jan 2019 09:32:52 -0500 Received: from eggs.gnu.org ([209.51.188.92]:42380) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1go7q2-0005px-Rm for qemu-devel@nongnu.org; Mon, 28 Jan 2019 09:24:39 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1go7q1-0003Ck-3x for qemu-devel@nongnu.org; Mon, 28 Jan 2019 09:24:38 -0500 Received: from mx1.redhat.com ([209.132.183.28]:56616) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1go7q0-00037j-Lp for qemu-devel@nongnu.org; Mon, 28 Jan 2019 09:24:36 -0500 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 3106DDA334 for ; Mon, 28 Jan 2019 14:24:26 +0000 (UTC) Received: from gigantic.usersys.redhat.com (helium.bos.redhat.com [10.18.17.132]) by smtp.corp.redhat.com (Postfix) with ESMTP id A3AC1C95BF; Mon, 28 Jan 2019 14:24:20 +0000 (UTC) From: Bandan Das To: qemu-devel@nongnu.org Date: Mon, 28 Jan 2019 09:24:07 -0500 Message-Id: <20190128142410.11584-1-bsd@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Mon, 28 Jan 2019 14:24:26 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH v3 0/3] Break down the MTP write operation X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kraxel@redhat.com Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP v3: Added patch 3/3 v2: Rebased on top of master and retested For larger files, not only do we keep reallocating to increase the mtp buffer size, the write also happens in one go. This does two things: Write to file upto a certain data size we have received so far and second, reuse the buffer again instead of reallocating to a larger buffer size. Tested with different file sizes on a Linux guest. Bandan Das (3): usb-mtp: Reallocate buffer in multiples of MTP_WRITE_BUF_SZ usb-mtp: breakup MTP write into smaller chunks usb-mtp: replace the homebrew write with qemu_write_full hw/usb/dev-mtp.c | 166 +++++++++++++++++++++++++++++------------------ 1 file changed, 102 insertions(+), 64 deletions(-)