Michael S. Tsirkin
2016-Dec-15 23:05 UTC
[PULL] virtio, vhost: new device, fixes, speedups
The following changes since commit a57cb1c1d7974c62a5c80f7869e35b492ace12cd: Merge branch 'akpm' (patches from Andrew) (2016-12-14 17:25:18 -0800) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git tags/for_linus for you to fetch changes up to 6bdf1e0efb04a1716373646cb6f35b73addca492: Makefile: drop -D__CHECK_ENDIAN__ from cflags (2016-12-16 00:13:43 +0200) ---------------------------------------------------------------- virtio, vhost: new device, fixes, speedups This includes the new virtio crypto device, and fixes all over the place. In particular enabling endian-ness checks for sparse builds found some bugs which this fixes. And it appears that everyone is in agreement that disabling endian-ness sparse checks shouldn't be necessary any longer. So this enables them for everyone, and drops __CHECK_ENDIAN__ and __bitwise__ APIs. IRQ handling in virtio has been refactored somewhat, the larger switch to IRQ_SHARED will have to wait as it proved too aggressive. Signed-off-by: Michael S. Tsirkin <mst at redhat.com> ---------------------------------------------------------------- Christoph Hellwig (4): virtio_pci: use pci_alloc_irq_vectors virtio_pci: remove the call to vp_free_vectors in vp_request_msix_vectors virtio_pci: merge vp_free_vectors into vp_del_vqs virtio_pci: split vp_try_to_find_vqs into INTx and MSI-X variants Felipe Franciosi (1): virtio_ring: fix description of virtqueue_get_buf Gao feng (1): vsock: lookup and setup guest_cid inside vhost_vsock_lock Gonglei (3): virtio_pci_modern: fix complaint by sparse virtio_ring: fix complaint by sparse crypto: add virtio-crypto driver Jason Wang (2): vhost: cache used event for better performance vhost: remove unused feature bit Mark Rutland (3): tools/virtio: fix READ_ONCE() vringh: kill off ACCESS_ONCE() tools/virtio: use {READ,WRITE}_ONCE() in uaccess.h Michael S. Tsirkin (18): virtio_console: drop unused config fields drm/virtio: fix endianness in primary_plane_update drm/virtio: fix lock context imbalance drm/virtio: annotate virtio_gpu_queue_ctrl_buffer_locked vhost: make interval tree static inline vhost: add missing __user annotations vsock/virtio: add a missing __le annotation vsock/virtio: mark an internal function static vsock/virtio: fix src/dst cid format virtio: clean up handling of request_irq failure linux/types.h: enable endian checks for all sparse builds tools: enable endian checks for all sparse builds Documentation/sparse: drop __bitwise__ checkpatch: replace __bitwise__ with __bitwise linux: drop __bitwise__ everywhere Documentation/sparse: drop __CHECK_ENDIAN__ fs/logfs: drop __CHECK_ENDIAN__ Makefile: drop -D__CHECK_ENDIAN__ from cflags Tobias Klauser (1): vhost/scsi: Remove unused but set variable Yuan Liu (1): virtio_mmio: Set dev.release() to avoid warning Documentation/translations/zh_CN/sparse.txt | 7 +- arch/arm/plat-samsung/include/plat/gpio-cfg.h | 2 +- drivers/crypto/virtio/virtio_crypto_common.h | 128 +++++ drivers/md/dm-cache-block-types.h | 6 +- drivers/net/ethernet/sun/sunhme.h | 2 +- drivers/net/wireless/intel/iwlwifi/iwl-fw-file.h | 4 +- drivers/vhost/vhost.h | 3 + drivers/virtio/virtio_pci_common.h | 1 - fs/logfs/logfs.h | 4 +- include/linux/mmzone.h | 2 +- include/linux/serial_core.h | 4 +- include/linux/types.h | 4 +- include/scsi/iscsi_proto.h | 2 +- include/target/target_core_base.h | 2 +- include/uapi/linux/types.h | 4 - include/uapi/linux/vhost.h | 2 - include/uapi/linux/virtio_crypto.h | 450 +++++++++++++++++ include/uapi/linux/virtio_ids.h | 1 + include/uapi/linux/virtio_types.h | 6 +- net/ieee802154/6lowpan/6lowpan_i.h | 2 +- net/mac80211/ieee80211_i.h | 4 +- tools/include/linux/types.h | 4 - tools/virtio/linux/compiler.h | 2 +- tools/virtio/linux/uaccess.h | 9 +- drivers/char/virtio_console.c | 14 +- drivers/crypto/virtio/virtio_crypto_algs.c | 540 +++++++++++++++++++++ drivers/crypto/virtio/virtio_crypto_core.c | 476 ++++++++++++++++++ drivers/crypto/virtio/virtio_crypto_mgr.c | 264 ++++++++++ drivers/gpu/drm/virtio/virtgpu_plane.c | 4 +- drivers/gpu/drm/virtio/virtgpu_vq.c | 6 +- drivers/vhost/scsi.c | 2 - drivers/vhost/vhost.c | 40 +- drivers/vhost/vringh.c | 5 +- drivers/vhost/vsock.c | 25 +- drivers/virtio/virtio_mmio.c | 2 + drivers/virtio/virtio_pci_common.c | 201 ++++---- drivers/virtio/virtio_pci_modern.c | 8 +- drivers/virtio/virtio_ring.c | 6 +- net/vmw_vsock/virtio_transport.c | 2 +- net/vmw_vsock/virtio_transport_common.c | 17 +- Documentation/dev-tools/sparse.rst | 14 +- MAINTAINERS | 9 + drivers/bluetooth/Makefile | 2 - drivers/crypto/Kconfig | 2 + drivers/crypto/Makefile | 1 + drivers/crypto/virtio/Kconfig | 10 + drivers/crypto/virtio/Makefile | 5 + drivers/net/can/Makefile | 1 - drivers/net/ethernet/altera/Makefile | 1 - drivers/net/ethernet/atheros/alx/Makefile | 1 - drivers/net/ethernet/freescale/Makefile | 2 - drivers/net/wireless/ath/Makefile | 2 - drivers/net/wireless/ath/wil6210/Makefile | 2 - .../wireless/broadcom/brcm80211/brcmfmac/Makefile | 2 - .../wireless/broadcom/brcm80211/brcmsmac/Makefile | 1 - drivers/net/wireless/intel/iwlegacy/Makefile | 2 - drivers/net/wireless/intel/iwlwifi/Makefile | 2 +- drivers/net/wireless/intel/iwlwifi/dvm/Makefile | 2 +- drivers/net/wireless/intel/iwlwifi/mvm/Makefile | 2 +- drivers/net/wireless/intersil/orinoco/Makefile | 3 - drivers/net/wireless/mediatek/mt7601u/Makefile | 2 - drivers/net/wireless/realtek/rtlwifi/Makefile | 2 - .../wireless/realtek/rtlwifi/btcoexist/Makefile | 2 - .../wireless/realtek/rtlwifi/rtl8188ee/Makefile | 2 - .../net/wireless/realtek/rtlwifi/rtl8192c/Makefile | 2 - .../wireless/realtek/rtlwifi/rtl8192ce/Makefile | 2 - .../wireless/realtek/rtlwifi/rtl8192cu/Makefile | 2 - .../wireless/realtek/rtlwifi/rtl8192de/Makefile | 2 - .../wireless/realtek/rtlwifi/rtl8192ee/Makefile | 2 - .../wireless/realtek/rtlwifi/rtl8192se/Makefile | 2 - .../wireless/realtek/rtlwifi/rtl8723ae/Makefile | 2 - .../wireless/realtek/rtlwifi/rtl8723be/Makefile | 2 - .../wireless/realtek/rtlwifi/rtl8723com/Makefile | 2 - .../wireless/realtek/rtlwifi/rtl8821ae/Makefile | 2 - drivers/net/wireless/ti/wl1251/Makefile | 2 - drivers/net/wireless/ti/wlcore/Makefile | 2 - drivers/staging/rtl8188eu/Makefile | 2 +- drivers/staging/rtl8192e/Makefile | 2 - drivers/staging/rtl8192e/rtl8192e/Makefile | 2 - include/uapi/linux/Kbuild | 1 + net/bluetooth/Makefile | 2 - net/ieee802154/Makefile | 2 - net/mac80211/Makefile | 2 +- net/mac802154/Makefile | 2 - net/wireless/Makefile | 2 - scripts/checkpatch.pl | 4 +- 86 files changed, 2106 insertions(+), 280 deletions(-) create mode 100644 drivers/crypto/virtio/virtio_crypto_common.h create mode 100644 include/uapi/linux/virtio_crypto.h create mode 100644 drivers/crypto/virtio/virtio_crypto_algs.c create mode 100644 drivers/crypto/virtio/virtio_crypto_core.c create mode 100644 drivers/crypto/virtio/virtio_crypto_mgr.c create mode 100644 drivers/crypto/virtio/Kconfig create mode 100644 drivers/crypto/virtio/Makefile
On Thu, Dec 15, 2016 at 3:05 PM, Michael S. Tsirkin <mst at redhat.com> wrote:> > git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git tags/for_linusPulled, but I wonder...> Documentation/translations/zh_CN/sparse.txt | 7 +- > arch/arm/plat-samsung/include/plat/gpio-cfg.h | 2 +- > drivers/crypto/virtio/virtio_crypto_common.h | 128 +++++[...] what are you generating these diffstats with? Because they are pretty bogus.. The end result is correct:> 86 files changed, 2106 insertions(+), 280 deletions(-)but the file order in the diffstat is completely random, which makes it very hard to compare with what I get. It also makes it hard to see what you changed, because it's not alphabetical like it should be (strictly speaking the git pathname ordering isnt' really alphabetical, since the '/' sorts as the NUL character, but close enough). I can't see the logic to the re-ordering of the lines, so I'm intrigued how you even generated it. Linus
On 16/12/2016 03:20, Linus Torvalds wrote:> On Thu, Dec 15, 2016 at 3:05 PM, Michael S. Tsirkin <mst at redhat.com> wrote: >> >> git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git tags/for_linus > > Pulled, but I wonder... > >> Documentation/translations/zh_CN/sparse.txt | 7 +- >> arch/arm/plat-samsung/include/plat/gpio-cfg.h | 2 +- >> drivers/crypto/virtio/virtio_crypto_common.h | 128 +++++ > [...] > > what are you generating these diffstats with? Because they are pretty bogus.. > > The end result is correct: > >> 86 files changed, 2106 insertions(+), 280 deletions(-) > > but the file order in the diffstat is completely random, which makes > it very hard to compare with what I get. It also makes it hard to see > what you changed, because it's not alphabetical like it should be > (strictly speaking the git pathname ordering isnt' really > alphabetical, since the '/' sorts as the NUL character, but close > enough). > > I can't see the logic to the re-ordering of the lines, so I'm > intrigued how you even generated it.Looks like a diff.orderFile that places .h and .txt first, then .c, then Makefile. I've seen others propose it. Paolo
Michael S. Tsirkin
2016-Dec-16 17:09 UTC
[PULL] virtio, vhost: new device, fixes, speedups
On Thu, Dec 15, 2016 at 06:20:40PM -0800, Linus Torvalds wrote:> On Thu, Dec 15, 2016 at 3:05 PM, Michael S. Tsirkin <mst at redhat.com> wrote: > > > > git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git tags/for_linus > > Pulled, but I wonder... > > > Documentation/translations/zh_CN/sparse.txt | 7 +- > > arch/arm/plat-samsung/include/plat/gpio-cfg.h | 2 +- > > drivers/crypto/virtio/virtio_crypto_common.h | 128 +++++ > [...] > > what are you generating these diffstats with? Because they are pretty bogus.. > > The end result is correct: > > > 86 files changed, 2106 insertions(+), 280 deletions(-) > > but the file order in the diffstat is completely random, which makes > it very hard to compare with what I get. It also makes it hard to see > what you changed, because it's not alphabetical like it should be > (strictly speaking the git pathname ordering isnt' really > alphabetical, since the '/' sorts as the NUL character, but close > enough). > > I can't see the logic to the re-ordering of the lines, so I'm > intrigued how you even generated it. > > LinusOh, that's because I set orderfile globally rather than just for the qemu project which wants it. Fixed, sorry about that. -- MST