From owner-freebsd-virtualization@FreeBSD.ORG Sat May 18 06:06:39 2013 Return-Path: Delivered-To: freebsd-virtualization@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 8E13B9C7 for ; Sat, 18 May 2013 06:06:39 +0000 (UTC) (envelope-from vvm@tut.by) Received: from mail-bk0-x236.google.com (mail-bk0-x236.google.com [IPv6:2a00:1450:4008:c01::236]) by mx1.freebsd.org (Postfix) with ESMTP id 1460C23F for ; Sat, 18 May 2013 06:06:38 +0000 (UTC) Received: by mail-bk0-f54.google.com with SMTP id it19so2126577bkc.27 for ; Fri, 17 May 2013 23:06:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tut.by; s=google; h=x-received:message-id:from:to:cc:subject:date:mime-version :content-type:content-transfer-encoding:x-priority:x-msmail-priority :x-mailer:x-mimeole; bh=JiWaWI7aUdgfYFB62ZjabxHXQhRjdl5PUZJyeBe7jsQ=; b=fMZa6R7heFaLp24W0yvx0Zcrb3lpyw8eBFMMLy4eKls17vxSmEqFsb2yqXlbZK/Unc QCP3EDVqU4E6w/cWy/G7Ka/8IFVEdLtWE1TUMbP1/DmBVf9pGuxot5vdpDenoVicKaOa Xwf6v8qWJhkn8iWyzfwCW0d3eo0HYU9e46Jj0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:message-id:from:to:cc:subject:date:mime-version :content-type:content-transfer-encoding:x-priority:x-msmail-priority :x-mailer:x-mimeole:x-gm-message-state; bh=JiWaWI7aUdgfYFB62ZjabxHXQhRjdl5PUZJyeBe7jsQ=; b=WKmVhTGpKxsnqnZcK0ybBkbz+rLHzewf/oeDp4uWCv3S0CQeaMsczsiT/IuwYYO8DY YNq1Rb6gGJmJiEis/rxem2ETxVDFYWFayV8u/FZhKqYk0E7XT/2Ku03rHFIcKWLoHjBz QzR5Kbg+S1UhAJHzISPzgHMOt3bK08jrOe9K8OxCunQi7s9wq1ZTwaX6yvbDN0UUAzC8 x1PEuGgP6Yq+lMzcX25lpKrVh4zHqgp17wZ/Br3bXBN14evIuEQ8Ejl97jpuXNm6paYK KYrGUdUgtD8YrXBQUN97td5v7g+68wyzMoPTYayOSRl+UWDmNj3Rzn+EnoP8XacfnD99 gqbQ== X-Received: by 10.204.226.136 with SMTP id iw8mr16523296bkb.135.1368857197512; Fri, 17 May 2013 23:06:37 -0700 (PDT) Received: from TSVVM2 (ns1.st.by. [217.23.123.90]) by mx.google.com with ESMTPSA id j8sm3660309bky.17.2013.05.17.23.06.35 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Fri, 17 May 2013 23:06:36 -0700 (PDT) Message-ID: <66FCF69B8536470EA8A680616DD6F098@local.st.by> From: "Victor Miasnikov" To: , "Alexander Motin" , Subject: Tmp. disable BlkVSC (paravirtual IDE) functional? Re: ATA controller and Hyper-V "synthetic storage driver" handle the IDE disks devices ( but not for the CD-ROM) Re: Hyper-V on FreeBSD Date: Sat, 18 May 2013 09:06:34 +0300 MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset="utf-8"; reply-type=response Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.3790.4548 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.4913 X-Gm-Message-State: ALoCoQl5y5JmSfahH6CNh4ZU8UnkAhlJSXrzDiEAR//oYHcIG2TeMqgCAqsV/6n88l7jhl92qSHI Cc: larry.melia@ieee.org X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 May 2013 06:06:39 -0000 Hi! Short: {{ L.M.>>> Removing our ATA patches, on the other hand, results in a huge L.M.>>> performance loss. This is because the root file system is managed by the L.M.>>> ATA driver, which is emulated under Hyper-V. VVM>> Place on IDE disk only "\boot" ( and bootloader), other on SCSI . + VVM>> Disable both primary and secondary ATA controller prevent use CD-ROM device in VM ( guest) VVM>> Because "synthetic storage driver" not handle CD-ROM devices May be temporary disable BlkVSC (paravirtual IDE) functional? And enable [imm.]after implement work on Hyper-V both CD-ROM and ATA disks == --- 000\hv_storvsc_drv_freebsd.c Wed Apr 10 06:18:58 2013 +++ hv_storvsc_drv_freebsd.c Wed May 08 11:59:06 2013 . . . * Using the type GUID, determine if this is a StorVSC (paravirtual * SCSI or BlkVSC (paravirtual IDE) device. . . . if (!memcmp(p, &gBlkVscDeviceType, sizeof(hv_guid))) { - return DRIVER_BLKVSC; + /* TODO: enable after implement work on Hyper-V both CD-ROM and ATA disks + * return DRIVER_BLKVSC; + */ + return (DRIVER_UNKNOWN); . . . == }} Full: > On Tue, May 7, 2013 at 12:40 AM, Victor Miasnikov wrote: L.M.>> == L.M.>> . . . L.M.>> On 23.04.2013 17:07, Larry Melia wrote: L.M.>> . . . L.M.>> L.M.>>> Removing our ATA patches, on the other hand, results in a huge L.M.>>> performance loss. This is because the root file system is managed by the L.M.>>> ATA driver, which is emulated under Hyper-V. L.M.>>> L.M.>> == VVM>> VVM>> Place on IDE disk only "\boot" ( and bootloader), other on SCSI . VVM>> >>> >>> prevent default OS driver from attaching to emulated ATA controller when Hyper-V >>> VVM>> VVM>> Disable both primary and secondary ATA controller prevent use CD-ROM device in VM ( guest) VVM>> VVM>> Because "synthetic storage driver" not handle CD-ROM devices VVM>> ( IMHO, even more: Hyper-V host work with CD-ROM only as "PCI bus" device) L.M.>Regarding the CD-ROM drive, there's a known problem with CD-ROM support and using our synthetic storage driver. L.M.>At the moment, it's not supported correctly on FreeBSD, L.M.>but . . . there's a workaround ( details skipped by VVM, {= not all simply , "long story" ) , L.M.>which we will try to get working on FreeBSD. L.M.>This will be addressed shortly, but . . . ( skipped by VVM ) . May be temporary disable BlkVSC (paravirtual IDE) functional? And enable after implement work on Hyper-V both CD-ROM and ATA disks == --- 000\hv_storvsc_drv_freebsd.c Wed Apr 10 06:18:58 2013 +++ hv_storvsc_drv_freebsd.c Wed May 08 11:59:06 2013 @@ -1449,22 +1449,25 @@ /** * @brief Determine type of storage device from GUID * * Using the type GUID, determine if this is a StorVSC (paravirtual * SCSI or BlkVSC (paravirtual IDE) device. * * @param dev a device * returns an enum */ static enum hv_storage_type storvsc_get_storage_type(device_t dev) { const char *p = vmbus_get_type(dev); if (!memcmp(p, &gBlkVscDeviceType, sizeof(hv_guid))) { - return DRIVER_BLKVSC; + /* TODO: enable after implement work on Hyper-V both CD-ROM and ATA disks + * return DRIVER_BLKVSC; + */ + return (DRIVER_UNKNOWN); } else if (!memcmp(p, &gStorVscDeviceType, sizeof(hv_guid))) { return DRIVER_STORVSC; } return (DRIVER_UNKNOWN); } == Best regards, Victor Miasnikov Blog: http://vvm.blog.tut.by/ P.S. Sorry, for code style -- is primary demo of _idea_