Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753016AbaLHI7J (ORCPT ); Mon, 8 Dec 2014 03:59:09 -0500 Received: from mx1.redhat.com ([209.132.183.28]:43027 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751094AbaLHI7H (ORCPT ); Mon, 8 Dec 2014 03:59:07 -0500 Date: Mon, 8 Dec 2014 10:58:50 +0200 From: "Michael S. Tsirkin" To: linux-kernel@vger.kernel.org Cc: David Miller , cornelia.huck@de.ibm.com, rusty@au1.ibm.com, nab@linux-iscsi.org, pbonzini@redhat.com, thuth@linux.vnet.ibm.com, dahi@linux.vnet.ibm.com Subject: Re: [PATCH v8 00/50] linux: towards virtio-1 guest support Message-ID: <20141208085850.GA19418@redhat.com> References: <1417449619-24896-1-git-send-email-mst@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1417449619-24896-1-git-send-email-mst@redhat.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Dec 01, 2014 at 06:02:42PM +0200, Michael S. Tsirkin wrote: > David, assuming patches are acceptable, I'd like them all to be merged through > virtio or vhost trees to avoid dependency headaches. Could you please ack > doing that for net related patches, especially these: > tun: move internal flag defines out of uapi > tun: drop most type defines > tun: add VNET_LE flag > tun: TUN_VNET_LE support, fix sparse warnings for virtio headers > macvtap: TUN_VNET_HDR support > vhost/scsi: partial virtio 1.0 support > af_packet: virtio 1.0 stubs > Alternatively, I can prepare a tree with virtio changes and merge > that into your net-next - if Rusty approves, or keeps > silence :) David, Rusty - ping. Are both of you ok withmerging this through the vhost tree? > > Could you comment on this please? > > Up to half a hundred patches now. This is getting ridiculous. > > Based on patches by Cornelia and others, but with an API that should allow > better static checking of code, slightly more concervative changes in vring and > drivers, and compatibility for existing drivers so that this series can be > applied gradually. > At the end of series, all drivers are converted, and compatibility flags are > dropped. > > All drivers have been converted now, with the exception > of the balloon driver which we plan to rewrite > rather than convert. > All drivers now pass sparse without warnings. > > net and blk patches have been tested on s390. > Other patches pass sparse so they are most likely > ok too, but haven't been through testing yet - > they can be dropped from patchset if necessary. > > Please review, and consider for 3.19 > > changes since v7: > all drivers have been converted now. > new patches: > virtio_console: virtio 1.0 support > virtio_balloon: add legacy_only flag > virtio: make VIRTIO_F_VERSION_1 a transport bit > virtio: drop VIRTIO_F_VERSION_1 from drivers > vhost: make features 64 bit > fix bug noted by Sergei Shtylyov, > bugfix suggested by Ben Hutchings > virtio_net: disable mac write for virtio 1.0 > moved earlier in the series > vhost/net: force len for TX to host endian > commit log reworded > vhost: virtio 1.0 endian-ness support > simplify error printing code sligthly > vhost/net: suppress compiler warning > smashed into code introducing the warning, > added a comment > > > changes since v6: > tun: move internal flag defines out of uapi > document reasons for patch split > macvtap: TUN_VNET_LE support > fix patch subject > virtio: add low-level APIs for feature bits > fix comment in code s/set/clear/ > document reasons for names selected > KVM: s390: enable virtio-ccw revision 1 > fix up comment > virtio: use u32, not bitmap for features > fix whitespace > virtio_ccw: add support for 64 bit features > tweak comment in code > > included reviewed-by tags by Cornelia David and Jason > > Changes since v5: > rewritten feature bit handling, based on suggestion by David: > changes are now smaller and easier to review. > new patch: > virtio: add low-level APIs for feature bits > rewritten patches: > virtio: use u32, not bitmap for features > virtio: add support for 64 bit features. > > Changes since v4: > I have dropped 64 bit feature negotiation from > most transports (except ccw). > For symmetry, I split out ccw bits: > virtio: add support for 64 bit features. > adds core and device support for 64 bit features > virtio_ccw: add support for 64 bit features. > actually enables 64 bit features in ccw. > detail below. > > this is still really a cosmetic change: just reordering/splitting > patches, and dropping code changes that aren't needed. > > new patches: > mic_virtio: robust feature array size calculation > virtio: assert 32 bit features in transports > > addressed comments by Cornelia: > virtio: disable virtio 1.0 in transports: > patch dropped > virtio: memory access APIs > tweaked comments as suggested by Cornelia > virtio_config: endian conversion for v1.0 > dropped reviewed-by tags - > they applied to a very old version of patch > virtio: set FEATURES_OK > replaced printk by dev_err > virtio: add legacy feature table support > comment changes suggested by Cornelia > virtio_blk: v1.0 support > dropped reviewed-by tags - > they applied to a very old version of patch > virtio_net: enable v1.0 support > only write mac for legacy devices > vhost: add memory access wrappers > move chunk to vhost: make features 64 bit > better patch description > vhost: make features 64 bit > moved this patch earlier in series > vhost/net: force len for TX to host endian > better patch description > virtio_scsi: v1.0 support > fix bug: use high level, not low level wrappers > > > included reviewed-by tags for patches: > KVM: s390 allow virtio_ccw status writes to fail > added reviewed-by tag by Cornelia > virtio_scsi: v1.0 support > virtio_scsi: move to uapi > virtio_scsi: export to userspace > vhost/scsi: partial virtio 1.0 support > added reviewed-by tag by Paolo > > Changes since v3: > - move virtio 1.0 feature bit out of transport bits: > for now it's managed by drivers > - disable virtio 1.0 feature bit explicitly - for transports > that don't support it > > Cornelia Huck (3): > virtio: allow transports to get avail/used addresses > KVM: s390: virtio-ccw revision 1 SET_VQ > KVM: s390: enable virtio-ccw revision 1 > > Michael S. Tsirkin (46): > virtio: add low-level APIs for feature bits > virtio: use u32, not bitmap for features > mic_virtio: robust feature array size calculation > virtio: add support for 64 bit features. > virtio: assert 32 bit features in transports > virtio_ccw: add support for 64 bit features. > virtio: add virtio 1.0 feature bit > virtio: memory access APIs > virtio_ring: switch to new memory access APIs > virtio_config: endian conversion for v1.0 > virtio: set FEATURES_OK > virtio: simplify feature bit handling > virtio: add legacy feature table support > virtio_net: v1.0 endianness > virtio_blk: v1.0 support > KVM: s390 allow virtio_ccw status writes to fail > virtio_blk: make serial attribute static > virtio_blk: fix race at module removal > virtio_net: pass vi around > virtio_net: get rid of virtio_net_hdr/skb_vnet_hdr > virtio_net: stricter short buffer length checks > virtio_net: bigger header when VERSION_1 is set > virtio_net: disable mac write for virtio 1.0 > virtio_net: enable v1.0 support > vhost: make features 64 bit > vhost: add memory access wrappers > vhost/net: force len for TX to host endian > vhost: switch to __get/__put_user exclusively > vhost: virtio 1.0 endian-ness support > vhost/net: virtio 1.0 byte swap > vhost/net: larger header for virtio 1.0 > vhost/net: enable virtio 1.0 > tun: move internal flag defines out of uapi > tun: drop most type defines > tun: add VNET_LE flag > tun: TUN_VNET_LE support, fix sparse warnings for virtio headers > macvtap: TUN_VNET_LE support > virtio_scsi: v1.0 support > virtio_scsi: move to uapi > virtio_scsi: export to userspace > vhost/scsi: partial virtio 1.0 support > af_packet: virtio 1.0 stubs > virtio_console: virtio 1.0 support > virtio_balloon: add legacy_only flag > virtio: make VIRTIO_F_VERSION_1 a transport bit > virtio: drop VIRTIO_F_VERSION_1 from drivers > > Thomas Huth (1): > KVM: s390: Set virtio-ccw transport revision > > drivers/vhost/vhost.h | 37 ++++++- > include/linux/virtio.h | 12 ++- > include/linux/virtio_byteorder.h | 59 +++++++++++ > include/linux/virtio_config.h | 100 +++++++++++++++++-- > include/uapi/linux/if_tun.h | 17 +--- > include/uapi/linux/virtio_blk.h | 15 +-- > include/uapi/linux/virtio_config.h | 9 +- > include/uapi/linux/virtio_console.h | 7 +- > include/uapi/linux/virtio_net.h | 15 +-- > include/uapi/linux/virtio_ring.h | 45 ++++----- > include/{ => uapi}/linux/virtio_scsi.h | 106 ++++++++++---------- > include/uapi/linux/virtio_types.h | 46 +++++++++ > tools/virtio/linux/virtio.h | 22 +---- > tools/virtio/linux/virtio_config.h | 2 +- > drivers/block/virtio_blk.c | 74 ++++++++------ > drivers/char/virtio_console.c | 30 +++--- > drivers/lguest/lguest_device.c | 13 ++- > drivers/misc/mic/card/mic_virtio.c | 10 +- > drivers/net/macvtap.c | 68 ++++++++----- > drivers/net/tun.c | 168 ++++++++++++++------------------ > drivers/net/virtio_net.c | 161 +++++++++++++++--------------- > drivers/remoteproc/remoteproc_virtio.c | 7 +- > drivers/s390/kvm/kvm_virtio.c | 7 +- > drivers/s390/kvm/virtio_ccw.c | 172 +++++++++++++++++++++++++++------ > drivers/scsi/virtio_scsi.c | 50 ++++++---- > drivers/vhost/net.c | 31 +++--- > drivers/vhost/scsi.c | 22 +++-- > drivers/vhost/vhost.c | 93 +++++++++++------- > drivers/virtio/virtio.c | 78 +++++++++++---- > drivers/virtio/virtio_balloon.c | 1 + > drivers/virtio/virtio_mmio.c | 13 ++- > drivers/virtio/virtio_pci.c | 8 +- > drivers/virtio/virtio_ring.c | 109 ++++++++++++--------- > net/packet/af_packet.c | 35 ++++--- > tools/virtio/virtio_test.c | 5 +- > tools/virtio/vringh_test.c | 16 +-- > include/uapi/linux/Kbuild | 2 + > 37 files changed, 1061 insertions(+), 604 deletions(-) > create mode 100644 include/linux/virtio_byteorder.h > rename include/{ => uapi}/linux/virtio_scsi.h (73%) > create mode 100644 include/uapi/linux/virtio_types.h > > -- > MST > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/