svn commit: r296187 - head/sys/dev/hyperv/netvsc

2016-02-29 Thread Sepherosa Ziehau
Author: sephe Date: Mon Feb 29 09:05:33 2016 New Revision: 296187 URL: https://svnweb.freebsd.org/changeset/base/296187 Log: hyperv/hn: Utilize mbuf flowid MFC after:1 week Sponsored by: Microsoft OSTC Differential Revision:https://reviews.freebsd.org/D5488 Modified:

svn commit: r296185 - head/sys/dev/hyperv/netvsc

2016-02-29 Thread Sepherosa Ziehau
Author: sephe Date: Mon Feb 29 08:53:53 2016 New Revision: 296185 URL: https://svnweb.freebsd.org/changeset/base/296185 Log: hyperv/hn: Put LRO aggregation limit settings under FreeBSD version check This simplifies MFC to 10-stable MFC after:1 week Sponsored by: Microsoft OSTC

svn commit: r296184 - head/sys/dev/hyperv/netvsc

2016-02-29 Thread Sepherosa Ziehau
Author: sephe Date: Mon Feb 29 08:45:07 2016 New Revision: 296184 URL: https://svnweb.freebsd.org/changeset/base/296184 Log: hyperv/hn: Switch to if_transmit by default after r296178 MFC after:1 week Sponsored by: Microsoft OSTC Differential Revision:

svn commit: r296181 - head/sys/dev/hyperv/vmbus

2016-02-28 Thread Sepherosa Ziehau
Author: sephe Date: Mon Feb 29 05:24:29 2016 New Revision: 296181 URL: https://svnweb.freebsd.org/changeset/base/296181 Log: hyperv/channel: Add debug sysctl nodes for channel indices It would serve as a debug tool, if the shared buffer ring's indices stopped updating. Submitted by:

svn commit: r296180 - head/sys/dev/hyperv/vmbus

2016-02-28 Thread Sepherosa Ziehau
Author: sephe Date: Mon Feb 29 04:58:40 2016 New Revision: 296180 URL: https://svnweb.freebsd.org/changeset/base/296180 Log: hyperv: Use proper fence function to keep store-load order for msgs sfence only makes sure about the store-store order, which is not sufficient here. Use

svn commit: r296178 - in head/sys: net sys

2016-02-28 Thread Sepherosa Ziehau
Author: sephe Date: Mon Feb 29 03:54:51 2016 New Revision: 296178 URL: https://svnweb.freebsd.org/changeset/base/296178 Log: buf_ring/drbr: Add buf_ring_peek_clear_sc and use it in drbr_peek Unlike buf_ring_peek, it only supports single consumer mode, and it clears the cons_head if

svn commit: r296089 - head/sys/dev/hyperv/netvsc

2016-02-26 Thread Sepherosa Ziehau
Author: sephe Date: Fri Feb 26 09:50:35 2016 New Revision: 296089 URL: https://svnweb.freebsd.org/changeset/base/296089 Log: hyperv/hn: Make transmission path channel aware Chimney sending buffer still needs conversion, which will be done along with the upcoming vRSS support. MFC

svn commit: r296088 - head/sys/dev/hyperv/netvsc

2016-02-26 Thread Sepherosa Ziehau
Author: sephe Date: Fri Feb 26 09:45:48 2016 New Revision: 296088 URL: https://svnweb.freebsd.org/changeset/base/296088 Log: hyperv/hn: Remove the useless num_outstanding_sends We rely on taskqueue draining now. MFC after:1 week Sponsored by: Microsoft OSTC Differential

svn commit: r296087 - in head/sys/dev/hyperv: include netvsc

2016-02-26 Thread Sepherosa Ziehau
Author: sephe Date: Fri Feb 26 09:41:00 2016 New Revision: 296087 URL: https://svnweb.freebsd.org/changeset/base/296087 Log: hyperv/hn: Associate TX/RX ring with channel This fixes the TX/RX ring selection for TX/RX done. MFC after:1 week Sponsored by: Microsoft OSTC

svn commit: r296086 - head/sys/dev/hyperv/netvsc

2016-02-26 Thread Sepherosa Ziehau
Author: sephe Date: Fri Feb 26 09:35:45 2016 New Revision: 296086 URL: https://svnweb.freebsd.org/changeset/base/296086 Log: hyperv/hn: Pass channel to TX/RX done This is preamble to associate the TX/RX rings to their channel. While I'm here, revoke unused netvsc_recv_rollup. MFC

svn commit: r296085 - head/sys/dev/hyperv/netvsc

2016-02-26 Thread Sepherosa Ziehau
Author: sephe Date: Fri Feb 26 09:29:50 2016 New Revision: 296085 URL: https://svnweb.freebsd.org/changeset/base/296085 Log: hyperv/hn: Pass channel as the channel callback argument This is the preamble to pass channel back to hn(4) upon TX/RX done. Reviewed by: Hongjiang Zhang

svn commit: r296084 - in head/sys/dev/hyperv: include storvsc vmbus

2016-02-26 Thread Sepherosa Ziehau
Author: sephe Date: Fri Feb 26 09:23:17 2016 New Revision: 296084 URL: https://svnweb.freebsd.org/changeset/base/296084 Log: hyperv: Always set device for channels And unregister hv_device only for primary channels, who own the hv_device. MFC after:1 week Sponsored by: Microsoft

svn commit: r296083 - in head/sys/dev/hyperv: include netvsc storvsc vmbus

2016-02-26 Thread Sepherosa Ziehau
Author: sephe Date: Fri Feb 26 09:17:31 2016 New Revision: 296083 URL: https://svnweb.freebsd.org/changeset/base/296083 Log: hyperv: Remove useless channel inbound_lock It serves no purpose. Reviewed by: Hongjiang Zhang MFC after:1 week Sponsored by: Microsoft OSTC

svn commit: r296076 - head/sys/dev/hyperv/vmbus

2016-02-25 Thread Sepherosa Ziehau
Author: sephe Date: Fri Feb 26 02:26:19 2016 New Revision: 296076 URL: https://svnweb.freebsd.org/changeset/base/296076 Log: hyperv: Use atomic_fetchadd_int to get GPADL id. Reviewed by: Hongjiang Zhang MFC after:1 week Sponsored by: Microsoft OSTC Differential Revision:

svn commit: r296028 - in head/sys/dev/hyperv: netvsc vmbus

2016-02-25 Thread Sepherosa Ziehau
Author: sephe Date: Thu Feb 25 09:27:50 2016 New Revision: 296028 URL: https://svnweb.freebsd.org/changeset/base/296028 Log: hyperv: Wait 5 seconds for hyperv result, instead of 500ms This addresses various devices (network, stoarge) attach failure. Reported by: Hongxiong Xian

svn commit: r296024 - head/sys/dev/hyperv/netvsc

2016-02-24 Thread Sepherosa Ziehau
Author: sephe Date: Thu Feb 25 07:03:10 2016 New Revision: 296024 URL: https://svnweb.freebsd.org/changeset/base/296024 Log: hyperv/hn: Hold the TX ring lock then drain TX desc buf_ring Reported by: Hongxiong Xian MFC after:1 week Sponsored by: Microsoft OSTC Modified:

svn commit: r296022 - head/sys/dev/hyperv/netvsc

2016-02-24 Thread Sepherosa Ziehau
Author: sephe Date: Thu Feb 25 03:21:25 2016 New Revision: 296022 URL: https://svnweb.freebsd.org/changeset/base/296022 Log: hyperv/hn: Implement ifnet.if_transmit method It will be turned on by default later. MFC after:1 week Sponsored by: Microsoft OSTC Differential

svn commit: r295964 - head/sys/dev/hyperv/vmbus

2016-02-24 Thread Sepherosa Ziehau
Author: sephe Date: Wed Feb 24 08:54:50 2016 New Revision: 295964 URL: https://svnweb.freebsd.org/changeset/base/295964 Log: hyperv/vmbus: Use free(9) for interrupt page; it is allocated by malloc(9) MFC after:1 week Sponsored by: Microsoft OSTC Differential Revision:

svn commit: r295958 - in head/sys: conf dev/hyperv/include dev/hyperv/utilities modules/hyperv/utilities

2016-02-23 Thread Sepherosa Ziehau
Author: sephe Date: Wed Feb 24 05:01:18 2016 New Revision: 295958 URL: https://svnweb.freebsd.org/changeset/base/295958 Log: hyperv/utils: Code rearrange and cleanup Split heartbeat, shutdown and timesync out of utils code and name them properly. Submitted by: Jun Su Reviewed by:

svn commit: r295919 - head/sys/dev/hyperv/storvsc

2016-02-23 Thread Sepherosa Ziehau
Author: sephe Date: Tue Feb 23 09:29:45 2016 New Revision: 295919 URL: https://svnweb.freebsd.org/changeset/base/295919 Log: hyperv/stor: Fix print format Detected by: PVS Static Analysis MFC after:1 week Sponsored by: Microsoft OSTC Differential Revision:

svn commit: r295918 - head/sys/dev/hyperv/netvsc

2016-02-23 Thread Sepherosa Ziehau
Author: sephe Date: Tue Feb 23 09:25:20 2016 New Revision: 295918 URL: https://svnweb.freebsd.org/changeset/base/295918 Log: hyperv/hn: Use IFQ_DRV_PREPEND instead of IF_PREPEND IF_PREPEND promises out-of-order packet sending when the TX desc list is depleted. It was overlooked and

svn commit: r295916 - head/sys/dev/hyperv/netvsc

2016-02-23 Thread Sepherosa Ziehau
Author: sephe Date: Tue Feb 23 09:20:33 2016 New Revision: 295916 URL: https://svnweb.freebsd.org/changeset/base/295916 Log: hyperv/hn: Factor out hn_send_pkt() from hn_start_locked() It will be shared w/ the upcoming ifnet.if_transmit method implementation. No functional change.

svn commit: r295877 - head/sys/dev/hyperv/netvsc

2016-02-21 Thread Sepherosa Ziehau
Author: sephe Date: Mon Feb 22 06:28:18 2016 New Revision: 295877 URL: https://svnweb.freebsd.org/changeset/base/295877 Log: hyperv/hn: Add TX method for txeof processing. Preamble to implement ifnet.if_transmit method. Reviewed by: adrian Approved by: adrian (mentor) MFC after:

svn commit: r295876 - head/sys/dev/hyperv/netvsc

2016-02-21 Thread Sepherosa Ziehau
Author: sephe Date: Mon Feb 22 06:22:47 2016 New Revision: 295876 URL: https://svnweb.freebsd.org/changeset/base/295876 Log: hyperv/hn: Staticize and rename packet TX done function It is only used in hv_netvsc_drv_freebsd.c; and rename it to hn_tx_done() mainly to reserve "xmit" for

svn commit: r295875 - head/sys/dev/hyperv/netvsc

2016-02-21 Thread Sepherosa Ziehau
Author: sephe Date: Mon Feb 22 06:17:26 2016 New Revision: 295875 URL: https://svnweb.freebsd.org/changeset/base/295875 Log: hyperv/hn: Rename TX related function and struct fields a bit Preamble to implement the ifnet.if_transmit method. Reviewed by: adrian Approved by: adrian

svn commit: r295794 - head/sys/dev/hyperv/netvsc

2016-02-18 Thread Sepherosa Ziehau
Author: sephe Date: Fri Feb 19 05:13:56 2016 New Revision: 295794 URL: https://svnweb.freebsd.org/changeset/base/295794 Log: hyperv/hn: Free the txdesc buf_ring when the TX ring is destroyed Reviewed by: adrian Approved by: adrian (mentor) MFC after:1 week Sponsored by:

svn commit: r295793 - head/sys/dev/hyperv/netvsc

2016-02-18 Thread Sepherosa Ziehau
Author: sephe Date: Fri Feb 19 05:08:44 2016 New Revision: 295793 URL: https://svnweb.freebsd.org/changeset/base/295793 Log: hyperv/hn: Enable IP header checksum offloading for WIN8 (WinServ2012) Tested on Windows Server 2012. Reviewed by: adrian Approved by: adrian (mentor) MFC

svn commit: r295792 - head/sys/dev/hyperv/netvsc

2016-02-18 Thread Sepherosa Ziehau
Author: sephe Date: Fri Feb 19 05:03:17 2016 New Revision: 295792 URL: https://svnweb.freebsd.org/changeset/base/295792 Log: hyperv/hn: Add option to bind TX taskqueues to the specified CPU It will be used to help tracking host side transmission ring selection issue; and it will be

Re: svn commit: r295739 - in head/sys: netinet sys

2016-02-17 Thread Sepherosa Ziehau
Sorry about the MFC note in the commit message. This commit will _not_ be MFCed. Thanks, sephe On Thu, Feb 18, 2016 at 12:58 PM, Sepherosa Ziehau <se...@freebsd.org> wrote: > Author: sephe > Date: Thu Feb 18 04:58:34 2016 > New Revision: 295739 > URL: https://svnweb.freebsd.

svn commit: r295748 - head/sys/dev/hyperv/netvsc

2016-02-17 Thread Sepherosa Ziehau
Author: sephe Date: Thu Feb 18 07:44:14 2016 New Revision: 295748 URL: https://svnweb.freebsd.org/changeset/base/295748 Log: hyperv/hn: Use buf_ring for txdesc list So one spinlock is avoided, which would be potentially dangerous for virtual machine, if the spinlock holder was scheduled

svn commit: r295747 - head/sys/dev/hyperv/netvsc

2016-02-17 Thread Sepherosa Ziehau
Author: sephe Date: Thu Feb 18 07:37:59 2016 New Revision: 295747 URL: https://svnweb.freebsd.org/changeset/base/295747 Log: hyperv/hn: Split TX ring data structure out of softc This paves the way for upcoming vRSS stuffs and eases more code cleanup. Reviewed by: adrian Approved

svn commit: r295746 - head/sys/dev/hyperv/netvsc

2016-02-17 Thread Sepherosa Ziehau
Author: sephe Date: Thu Feb 18 07:28:45 2016 New Revision: 295746 URL: https://svnweb.freebsd.org/changeset/base/295746 Log: hyperv/hn: Use non-fast taskqueue for transmission Performance stays same; so no need to use fast taskqueue here. Suggested by: royger Reviewed by: adrian

svn commit: r295745 - head/sys/dev/hyperv/netvsc

2016-02-17 Thread Sepherosa Ziehau
Author: sephe Date: Thu Feb 18 07:23:05 2016 New Revision: 295745 URL: https://svnweb.freebsd.org/changeset/base/295745 Log: hyperv/hn: Use taskqueue_enqueue() This also eases experiment on the non-fast taskqueue. Reviewed by: adrian, Jun Su Approved by: adrian (mentor) MFC

svn commit: r295744 - head/sys/dev/hyperv/netvsc

2016-02-17 Thread Sepherosa Ziehau
Author: sephe Date: Thu Feb 18 07:16:31 2016 New Revision: 295744 URL: https://svnweb.freebsd.org/changeset/base/295744 Log: hyperv/hn: Split RX ring data structure out of softc This paves the way for upcoming vRSS stuffs and eases more code cleanup. Reviewed by: adrian Approved

svn commit: r295743 - head/sys/dev/hyperv/netvsc

2016-02-17 Thread Sepherosa Ziehau
Author: sephe Date: Thu Feb 18 07:06:44 2016 New Revision: 295743 URL: https://svnweb.freebsd.org/changeset/base/295743 Log: hyperv/hn: Change global tunable prefix to hw.hn And use SYSCTL+CTLFLAG_RDTUN for them. Suggested by: adrian Reviewed by: adrian, Hongjiang Zhang Approved

svn commit: r295742 - head/sys/dev/hyperv/netvsc

2016-02-17 Thread Sepherosa Ziehau
Author: sephe Date: Thu Feb 18 07:00:47 2016 New Revision: 295742 URL: https://svnweb.freebsd.org/changeset/base/295742 Log: hyperv/hn: Always do transmission scheduling. This one gives the best performance so far. Reviewed by: adrian Approved by: adrian (mentor) MFC after:1

svn commit: r295741 - head/sys/dev/hyperv/netvsc

2016-02-17 Thread Sepherosa Ziehau
Author: sephe Date: Thu Feb 18 06:55:05 2016 New Revision: 295741 URL: https://svnweb.freebsd.org/changeset/base/295741 Log: hyperv/hn: Add option to allow sharing TX taskq between hn instances It is off by default. This eases further experimenting on this driver. Reviewed by:

svn commit: r295740 - head/sys/dev/hyperv/netvsc

2016-02-17 Thread Sepherosa Ziehau
Author: sephe Date: Thu Feb 18 04:59:37 2016 New Revision: 295740 URL: https://svnweb.freebsd.org/changeset/base/295740 Log: hyperv/hn: Set the TCP ACK/data segment aggregation limit Set TCP ACK append limit to 1, i.e. aggregate 2 ACKs at most. Aggregating anything more than 2 hurts TCP

svn commit: r295739 - in head/sys: netinet sys

2016-02-17 Thread Sepherosa Ziehau
Author: sephe Date: Thu Feb 18 04:58:34 2016 New Revision: 295739 URL: https://svnweb.freebsd.org/changeset/base/295739 Log: tcp/lro: Allow drivers to set the TCP ACK/data segment aggregation limit ACK aggregation limit is append count based, while the TCP data segment aggregation limit

svn commit: r295606 - head/sys/dev/hyperv/netvsc

2016-02-13 Thread Sepherosa Ziehau
Author: sephe Date: Sun Feb 14 02:28:59 2016 New Revision: 295606 URL: https://svnweb.freebsd.org/changeset/base/295606 Log: hyperv/hn: Fix typo in comment Noticed by: avos Reviewed by: adrian, avos, Hongjiang Zhang Approved by: adrian MFC after:1 week Sponsored by:

svn commit: r295309 - head/sys/dev/hyperv/vmbus

2016-02-04 Thread Sepherosa Ziehau
Author: sephe Date: Fri Feb 5 07:29:11 2016 New Revision: 295309 URL: https://svnweb.freebsd.org/changeset/base/295309 Log: hyperv: Use malloc for page allocation. We will eventually convert them to use busdma. Submitted by: Jun Su Reviewed by: adrian, sephe, Dexuan Cui

svn commit: r295307 - in head/sys/dev/hyperv: include utilities vmbus

2016-02-04 Thread Sepherosa Ziehau
Author: sephe Date: Fri Feb 5 07:09:58 2016 New Revision: 295307 URL: https://svnweb.freebsd.org/changeset/base/295307 Log: hyperv: Use standard taskqueue instead of hv_work_queue HyperV code was ported from Linux. There is an implementation of work queue called hv_work_queue. In

svn commit: r295308 - in head/sys/dev/hyperv: netvsc vmbus

2016-02-04 Thread Sepherosa Ziehau
Author: sephe Date: Fri Feb 5 07:20:31 2016 New Revision: 295308 URL: https://svnweb.freebsd.org/changeset/base/295308 Log: hyperv: Use WAITOK in the places where we can wait And convert rndis non-hot path spinlock to mutex. Submitted by: Jun Su Reviewed by: adrian, sephe

svn commit: r295303 - head/sys/dev/hyperv/netvsc

2016-02-04 Thread Sepherosa Ziehau
Author: sephe Date: Fri Feb 5 05:31:31 2016 New Revision: 295303 URL: https://svnweb.freebsd.org/changeset/base/295303 Log: hyperv/hn: Recover half of the chimney sending space We lost half of the chimney sending space, because we mis-used ffs() on a 64 bits mask, where ffsl() should be

svn commit: r295296 - head/sys/dev/hyperv/netvsc

2016-02-04 Thread Sepherosa Ziehau
Author: sephe Date: Fri Feb 5 04:03:50 2016 New Revision: 295296 URL: https://svnweb.freebsd.org/changeset/base/295296 Log: hyperv/hn: Avoid duplicate csum features settings - Record csum features in softc, so we don't need to duplicate the logic from attach path to ioctl path. -

svn commit: r295297 - head/sys/dev/hyperv/netvsc

2016-02-04 Thread Sepherosa Ziehau
Author: sephe Date: Fri Feb 5 04:10:04 2016 New Revision: 295297 URL: https://svnweb.freebsd.org/changeset/base/295297 Log: hyperv/hn: Reorganize TX csum offloading - For non-TSO offloading, we don't need to access mbuf to know which csum offloading is requested, we can just use the

Re: svn commit: r295302 - head/sys/dev/hyperv/netvsc

2016-02-04 Thread Sepherosa Ziehau
Oh, thanks, will fix it :) On Fri, Feb 5, 2016 at 1:34 PM, Andriy Voskoboinyk <a...@freebsd.org> wrote: > Fri, 05 Feb 2016 07:25:11 +0200 було написано Sepherosa Ziehau > <se...@freebsd.org>: > >> Modified: head/sys/dev/hyperv/net

svn commit: r295295 - head/sys/dev/hyperv/storvsc

2016-02-04 Thread Sepherosa Ziehau
Author: sephe Date: Fri Feb 5 03:46:53 2016 New Revision: 295295 URL: https://svnweb.freebsd.org/changeset/base/295295 Log: hyperv/stor: Fix the NULL pointer dereference Reported by: Netapp Submitted by: Hongjiang Zhang Reviewed by: adrian, sephe, Dexuan Cui Approved by: adrian

svn commit: r295298 - head/sys/dev/hyperv/netvsc

2016-02-04 Thread Sepherosa Ziehau
Author: sephe Date: Fri Feb 5 05:01:02 2016 New Revision: 295298 URL: https://svnweb.freebsd.org/changeset/base/295298 Log: hyperv/hn: Enable IP header checksum offloading So that: - TCP/IP stack will not do unnecessary IP header checksum for TSO packets. - Reduce guest load for

svn commit: r295300 - head/sys/dev/hyperv/netvsc

2016-02-04 Thread Sepherosa Ziehau
Author: sephe Date: Fri Feb 5 05:12:30 2016 New Revision: 295300 URL: https://svnweb.freebsd.org/changeset/base/295300 Log: hyperv/hn: Add sysctls to trust host side UDP and IP csum verification Reviewed by: adrian, Hongjiang Zhang Approved by: adrian (mentor) MFC after:1 week

svn commit: r295302 - head/sys/dev/hyperv/netvsc

2016-02-04 Thread Sepherosa Ziehau
Author: sephe Date: Fri Feb 5 05:25:11 2016 New Revision: 295302 URL: https://svnweb.freebsd.org/changeset/base/295302 Log: hyperv/hn: Factor out hn_encap() from hn_start_locked() It will be shared w/ upcoming ifnet.if_transmit implementaion. No functional changes. Reviewed by:

svn commit: r295304 - head/sys/dev/hyperv/netvsc

2016-02-04 Thread Sepherosa Ziehau
Author: sephe Date: Fri Feb 5 05:38:01 2016 New Revision: 295304 URL: https://svnweb.freebsd.org/changeset/base/295304 Log: hyperv/hn: Increase LRO entry count to 128 by default hn(4) only has one RX ring currently, so default 8 LRO entries are too small. Reviewed by: adrian

svn commit: r295299 - head/sys/dev/hyperv/netvsc

2016-02-04 Thread Sepherosa Ziehau
Author: sephe Date: Fri Feb 5 05:06:14 2016 New Revision: 295299 URL: https://svnweb.freebsd.org/changeset/base/295299 Log: hyperv/hn: Enable UDP RXCSUM Reviewed by: adrian Approved by: adrian (mentor) MFC after:1 week Sponsored by: Microsoft OSTC Differential Revision:

svn commit: r295301 - head/sys/dev/hyperv/netvsc

2016-02-04 Thread Sepherosa Ziehau
Author: sephe Date: Fri Feb 5 05:17:48 2016 New Revision: 295301 URL: https://svnweb.freebsd.org/changeset/base/295301 Log: hyperv/hn: Obey IFCAP_RXCSUM configure Reviewed by: adrian Approved by: adrian (mentor) MFC after:1 week Sponsored by: Microsoft OSTC Differential

svn commit: r295305 - head/sys/dev/hyperv/netvsc

2016-02-04 Thread Sepherosa Ziehau
Author: sephe Date: Fri Feb 5 05:44:31 2016 New Revision: 295305 URL: https://svnweb.freebsd.org/changeset/base/295305 Log: hyperv/hn: Move LRO flush to the channel processing rollup This significantly increases LRO aggregation ratio when there are large amount of connections (improves

svn commit: r295306 - head/sys/dev/hyperv/netvsc

2016-02-04 Thread Sepherosa Ziehau
Author: sephe Date: Fri Feb 5 05:50:53 2016 New Revision: 295306 URL: https://svnweb.freebsd.org/changeset/base/295306 Log: hyperv/hn: Add an option to always do transmission scheduling It is off by default. This eases more experiment on hn(4). Reviewed by: adrian, Hongjiang Zhang

svn commit: r294788 - head/sys/dev/hyperv/netvsc

2016-01-26 Thread Sepherosa Ziehau
Author: sephe Date: Tue Jan 26 09:42:13 2016 New Revision: 294788 URL: https://svnweb.freebsd.org/changeset/base/294788 Log: hyperv/hn: Improve sending performance - Avoid main lock contention by trylock for if_start, if that fails, schedule TX taskqueue for if_start - Don't do

Re: svn commit: r294869 - in head: sys/dev/cxgbe/tom sys/netinet usr.bin/systat

2016-01-26 Thread Sepherosa Ziehau
BTW, amd64 LINT builds fine. On Wed, Jan 27, 2016 at 11:50 AM, Sepherosa Ziehau <sepher...@gmail.com> wrote: > This seems to break i386 LINT: > > /usr/freebsd-svn/head/sys/modules/cxgb/tom/../../../dev/cxgb/ulp/tom/cxgb_cpl_io.c:1021:20: > error: use of undeclared identifier 't

svn commit: r294886 - in head/sys/dev/hyperv: include vmbus

2016-01-26 Thread Sepherosa Ziehau
Author: sephe Date: Wed Jan 27 03:53:30 2016 New Revision: 294886 URL: https://svnweb.freebsd.org/changeset/base/294886 Log: hyperv/vmbus: Event handling code refactor. - Use taskqueue instead of swi for event handling. - Scan the interrupt flags in filter - Disable ringbuffer

Re: svn commit: r294869 - in head: sys/dev/cxgbe/tom sys/netinet usr.bin/systat

2016-01-26 Thread Sepherosa Ziehau
This seems to break i386 LINT: /usr/freebsd-svn/head/sys/modules/cxgb/tom/../../../dev/cxgb/ulp/tom/cxgb_cpl_io.c:1021:20: error: use of undeclared identifier 'tcpstates'; did you mean 'tcpstat'? toep->tp_tid, tcpstates[tp->t_state], toep, inp); ^

Re: svn commit: r294889 - in head/sys/dev: cxgb/ulp/tom cxgbe/tom

2016-01-26 Thread Sepherosa Ziehau
Thanks! On Wed, Jan 27, 2016 at 1:15 PM, Gleb Smirnoff wrote: > Author: glebius > Date: Wed Jan 27 05:15:53 2016 > New Revision: 294889 > URL: https://svnweb.freebsd.org/changeset/base/294889 > > Log: > More fixes to the build. > > Modified: >

svn commit: r294700 - head/sys/dev/hyperv/netvsc

2016-01-24 Thread Sepherosa Ziehau
Author: sephe Date: Mon Jan 25 05:01:32 2016 New Revision: 294700 URL: https://svnweb.freebsd.org/changeset/base/294700 Log: hyperv/hn: Partly rework transmission path - Avoid unnecessary malloc/free on transmission path. - busdma(9)-fy transmission path. - Properly handle

svn commit: r294701 - head/sys/dev/hyperv/netvsc

2016-01-24 Thread Sepherosa Ziehau
Author: sephe Date: Mon Jan 25 05:12:00 2016 New Revision: 294701 URL: https://svnweb.freebsd.org/changeset/base/294701 Log: hyperv/hn: Use m_copydata for chimney sending. While I'm here, move stack variables near their usage. Reviewed by: adrian, delphij, Jun Su Approved

svn commit: r294702 - head/sys/dev/hyperv/netvsc

2016-01-24 Thread Sepherosa Ziehau
Author: sephe Date: Mon Jan 25 05:18:57 2016 New Revision: 294702 URL: https://svnweb.freebsd.org/changeset/base/294702 Log: hyperv/hn: Remove unnecessary zeroing out the netvsc_packet All used fields are setup one by one, so there is no need to zero out this large struct. While I'm

svn commit: r294705 - head/sys/dev/hyperv/vmbus

2016-01-24 Thread Sepherosa Ziehau
Author: sephe Date: Mon Jan 25 05:33:18 2016 New Revision: 294705 URL: https://svnweb.freebsd.org/changeset/base/294705 Log: hyperv/vmbus: Avoid extra copy of page information. The page information array could contain up to 32 elements (i.e. 512B). And on network side w/ TSO, 11+ (176B+)

svn commit: r294703 - head/sys/dev/hyperv/netvsc

2016-01-24 Thread Sepherosa Ziehau
Author: sephe Date: Mon Jan 25 05:25:39 2016 New Revision: 294703 URL: https://svnweb.freebsd.org/changeset/base/294703 Log: hyperv/hn: Trust host TCP segment checksum verification by default. According to all available information, VMSWITCH always does the TCP segment checksum

svn commit: r294557 - head/sys/dev/hyperv/storvsc

2016-01-22 Thread Sepherosa Ziehau
Author: sephe Date: Fri Jan 22 09:06:40 2016 New Revision: 294557 URL: https://svnweb.freebsd.org/changeset/base/294557 Log: hyperv/stor: Verify returned inquiry data before further dispatching Windows 10 and Window 2016 will return all zero inquiry data for non-existing slots. If we

svn commit: r294553 - head/sys/dev/hyperv/vmbus

2016-01-21 Thread Sepherosa Ziehau
Author: sephe Date: Fri Jan 22 07:29:31 2016 New Revision: 294553 URL: https://svnweb.freebsd.org/changeset/base/294553 Log: hyperv/vmbus: Lookup channel through id table Vmbus event handler will need to find the channel by its relative id, when software interrupt for event happens. The

Re: svn commit: r293719 - head/sys/dev/hyperv/netvsc

2016-01-13 Thread Sepherosa Ziehau
OH, sure, sorry about that, I will do it now. On Wed, Jan 13, 2016 at 6:49 PM, Bjoern A. Zeeb <b...@freebsd.org> wrote: > On Tue, 12 Jan 2016, Sepherosa Ziehau wrote: > >> Author: sephe >> Date: Tue Jan 12 01:30:51 2016 >> New Revision: 293719 >> URL: https

Re: svn commit: r293719 - head/sys/dev/hyperv/netvsc

2016-01-13 Thread Sepherosa Ziehau
The breakage is all my fault. Patch is attached. Wait for mentors approval. Thanks, sephe On Wed, Jan 13, 2016 at 6:49 PM, Bjoern A. Zeeb <b...@freebsd.org> wrote: > On Tue, 12 Jan 2016, Sepherosa Ziehau wrote: > >> Author: sephe >> Date: Tue Jan 12 01:30:51 2016 >&g

Re: svn commit: r293877 - head/sys/modules/hyperv/vmbus

2016-01-13 Thread Sepherosa Ziehau
Thanks, I was about to commit the same fix. I think i386 hyperv should be dropped, since it is not supported. On Thu, Jan 14, 2016 at 1:02 PM, Garrett Cooper wrote: > Author: ngie > Date: Thu Jan 14 05:02:33 2016 > New Revision: 293877 > URL:

Re: svn commit: r293877 - head/sys/modules/hyperv/vmbus

2016-01-13 Thread Sepherosa Ziehau
Hmm, strange, I did build the amd64 before I commit the patch... On Thu, Jan 14, 2016 at 1:31 PM, Garrett Cooper <yaneurab...@gmail.com> wrote: > >> On Jan 13, 2016, at 21:19, Sepherosa Ziehau <sepher...@gmail.com> wrote: >> >> Thanks, I was about to commit t

Re: svn commit: r293877 - head/sys/modules/hyperv/vmbus

2016-01-13 Thread Sepherosa Ziehau
Ah, OK, I see, thanks :) On Thu, Jan 14, 2016 at 2:08 PM, NGie Cooper <yaneurab...@gmail.com> wrote: > >> On Jan 13, 2016, at 21:34, Sepherosa Ziehau <sepher...@gmail.com> wrote: >> >> Hmm, strange, I did build the amd64 before I commit the patch... > &

svn commit: r293875 - head/sys/dev/hyperv/netvsc

2016-01-13 Thread Sepherosa Ziehau
Author: sephe Date: Thu Jan 14 03:16:29 2016 New Revision: 293875 URL: https://svnweb.freebsd.org/changeset/base/293875 Log: hyperv: set receive buffer size according to NVSP protocol version If the NVSP protocol version is not greater than NVSP_PROTOCOL_VERSION_2, then the recv buffer

svn commit: r293871 - head/sys/dev/hyperv/include

2016-01-13 Thread Sepherosa Ziehau
Author: sephe Date: Thu Jan 14 02:55:28 2016 New Revision: 293871 URL: https://svnweb.freebsd.org/changeset/base/293871 Log: hyperv: remove unused vmbus definitions We don't need them at all. Submitted by: Dexuan Cui Sponsored by: Microsoft OSTC Reviewed by:

svn commit: r293874 - head/sys/dev/hyperv/vmbus

2016-01-13 Thread Sepherosa Ziehau
Author: sephe Date: Thu Jan 14 03:11:35 2016 New Revision: 293874 URL: https://svnweb.freebsd.org/changeset/base/293874 Log: hyperv: add interrupt counters Submitted by: Howard Su Reviewed by: royger, Dexuan Cui , adrian Approved by: adrian (mentor)

svn commit: r293869 - head/sys/dev/hyperv/netvsc

2016-01-13 Thread Sepherosa Ziehau
Author: sephe Date: Thu Jan 14 02:32:50 2016 New Revision: 293869 URL: https://svnweb.freebsd.org/changeset/base/293869 Log: hyperv/hn: Unbreak LINT-NOIP Reported by: bz Approved by: adrain (mentor) Sponsored by: Microsoft OSTC Modified:

svn commit: r293870 - in head/sys: dev/hyperv/vmbus x86/x86

2016-01-13 Thread Sepherosa Ziehau
Author: sephe Date: Thu Jan 14 02:50:13 2016 New Revision: 293870 URL: https://svnweb.freebsd.org/changeset/base/293870 Log: hyperv: use x86 generic code to do the hypervisor detection This is first step to move the generic part of HV code into kernel instead of module, so that it is

svn commit: r293873 - in head/sys: conf dev/hyperv/vmbus modules/hyperv/vmbus

2016-01-13 Thread Sepherosa Ziehau
Author: sephe Date: Thu Jan 14 03:05:10 2016 New Revision: 293873 URL: https://svnweb.freebsd.org/changeset/base/293873 Log: hyperv: implement an event timer Submitted by: Howard Su Reviewed by: delphij, royger, adrian Approved by: adrian

svn commit: r293721 - head/sys/dev/hyperv/netvsc

2016-01-11 Thread Sepherosa Ziehau
Author: sephe Date: Tue Jan 12 01:50:56 2016 New Revision: 293721 URL: https://svnweb.freebsd.org/changeset/base/293721 Log: hyperv/hn: Avoid mbuf cluster allocation, if the packet is small. This one mainly avoids mbuf cluster allocation for TCP ACKs during TCP sending tests. And it

svn commit: r293720 - head/sys/dev/hyperv/netvsc

2016-01-11 Thread Sepherosa Ziehau
Author: sephe Date: Tue Jan 12 01:41:34 2016 New Revision: 293720 URL: https://svnweb.freebsd.org/changeset/base/293720 Log: hyperv/hn: Implement SIOC[SG]IFMEDIA support Many applications and kernel modules (e.g. bridge) rely on the ifmedia status report; give them what they want.

svn commit: r293719 - head/sys/dev/hyperv/netvsc

2016-01-11 Thread Sepherosa Ziehau
Author: sephe Date: Tue Jan 12 01:30:51 2016 New Revision: 293719 URL: https://svnweb.freebsd.org/changeset/base/293719 Log: hyperv/hn: Implement LRO - Implement the LRO using tcp_lro APIs, and LRO is enabled by default. - Add several stats sysctl nodes. - Check IP/TCP length before

Re: svn commit: r293721 - head/sys/dev/hyperv/netvsc

2016-01-11 Thread Sepherosa Ziehau
On Tue, Jan 12, 2016 at 12:42 PM, Gleb Smirnoff <gleb...@freebsd.org> wrote: > On Tue, Jan 12, 2016 at 01:50:56AM +, Sepherosa Ziehau wrote: > S> Author: sephe > S> Date: Tue Jan 12 01:50:56 2016 > S> New Revision: 293721 > S> URL: https://svnweb.freebsd.org/ch

svn commit: r293722 - head/sys/dev/hyperv/netvsc

2016-01-11 Thread Sepherosa Ziehau
Author: sephe Date: Tue Jan 12 01:55:57 2016 New Revision: 293722 URL: https://svnweb.freebsd.org/changeset/base/293722 Log: hyperv/hn: Removed unused netvsc_init() Submitted by: Dexuan Cui Reviewed by: me, adrian, royger, Hongjiang Zhang

svn commit: r293653 - head/contrib/hyperv/tools

2016-01-10 Thread Sepherosa Ziehau
Author: sephe Date: Mon Jan 11 03:30:16 2016 New Revision: 293653 URL: https://svnweb.freebsd.org/changeset/base/293653 Log: hyperv/kvp_daemon: Make poll(2) block indefinitely Submitted by: Jun Su Reviewed by: Dexuan Cui , me, adrain Approved by: adrian Sponsored by: Microsoft

svn commit: r293631 - head/share/misc

2016-01-10 Thread Sepherosa Ziehau
Author: sephe Date: Sun Jan 10 08:41:01 2016 New Revision: 293631 URL: https://svnweb.freebsd.org/changeset/base/293631 Log: committer-src.dot: Add {adrian,delphij}->me Approved by: adrian (mentor) Modified: head/share/misc/committers-src.dot Modified:

<    3   4   5   6   7   8