Page MenuHomeFreeBSD
Feed Advanced Search

Jul 11 2016

decui_microsoft.com added a comment to D7181: hyperv/stor: handle the host's response's status properly.

PR 211000 was reported (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=211000) to track the patch.

Jul 11 2016, 11:27 AM
decui_microsoft.com retitled D7181: hyperv/stor: handle the host's response's status properly from to hyperv/stor: handle the host's response's status properly.
Jul 11 2016, 11:25 AM

Jun 27 2016

decui_microsoft.com accepted D6976: hyperv/vmbus: More verbose for GPADL_connect/chan_{rescind,offer}.
Jun 27 2016, 7:18 AM
decui_microsoft.com accepted D6955: hyperv/stor: Fix the issue of uncorrect disk filtering.
Jun 27 2016, 7:17 AM

Apr 8 2016

decui_microsoft.com accepted D5880: hyperv/hn: Enable vRSS, aka multiple TX/RX rings by default.
Apr 8 2016, 10:58 AM
decui_microsoft.com accepted D5879: hyperv/hn: Cap default # of rings to 8..
Apr 8 2016, 10:55 AM

Apr 6 2016

decui_microsoft.com accepted D5853: dhclient: Log a warning instead of bailing upon "illegal" options.
Apr 6 2016, 7:01 AM
decui_microsoft.com accepted D5852: hyperv: Use mb() instead of atomic_thread_fence_seq_cst().
Apr 6 2016, 6:59 AM
decui_microsoft.com accepted D5850: hyperv: Use lapic_{alloc,free}_ipi to allocate private interrupt vector.
Apr 6 2016, 5:24 AM
decui_microsoft.com accepted D5849: x86: Allow interrupt vector allocation/free even on UP.
Apr 6 2016, 5:23 AM

Apr 5 2016

decui_microsoft.com added inline comments to D5813: hyperv/vmbus: make hyperv eventtimer as a module.
Apr 5 2016, 5:01 AM
decui_microsoft.com added reviewers for D5813: hyperv/vmbus: make hyperv eventtimer as a module: sepherosa_gmail.com, honzhan_microsoft.com, decui_microsoft.com.
Apr 5 2016, 2:54 AM
decui_microsoft.com updated subscribers of D5813: hyperv/vmbus: make hyperv eventtimer as a module.
Apr 5 2016, 2:53 AM
decui_microsoft.com added inline comments to D5813: hyperv/vmbus: make hyperv eventtimer as a module.
Apr 5 2016, 2:53 AM

Apr 2 2016

decui_microsoft.com added reviewers for D5812: hyperv/vmbus: change channel_msg_lock to default mtx: sepherosa_gmail.com, honzhan_microsoft.com.
Apr 2 2016, 2:36 PM
decui_microsoft.com accepted D5812: hyperv/vmbus: change channel_msg_lock to default mtx.
Apr 2 2016, 2:35 PM

Mar 30 2016

decui_microsoft.com retitled D5778: hyperv: register hv_timecounter in SI_SUB_HYPERVISOR from hyperv: regiter hv_timecounter in SI_SUB_HYPERVISOR to hyperv: register hv_timecounter in SI_SUB_HYPERVISOR.
Mar 30 2016, 4:48 AM
decui_microsoft.com abandoned D5174: x86: hyperv: use Hyper-V time counter (rather than i8254) to calibrate TSC.

Please use the new version of the fix: https://reviews.freebsd.org/D5778

Mar 30 2016, 3:50 AM
decui_microsoft.com retitled D5778: hyperv: register hv_timecounter in SI_SUB_HYPERVISOR from to hyperv: regiter hv_timecounter in SI_SUB_HYPERVISOR.
Mar 30 2016, 3:46 AM

Mar 29 2016

decui_microsoft.com accepted D5725: tcp/lro: Factor out tcp_lro_rx_done() to avoid code duplication.
Mar 29 2016, 2:33 PM

Mar 28 2016

decui_microsoft.com accepted D5765: tcp/lro: Change SLIST to LIST, so that removing an entry from the list is O(1).
Mar 28 2016, 4:47 AM

Mar 25 2016

decui_microsoft.com retitled D5739: vt_vga: use textmode when we're running on hypervisor from vt_vga: use texemode when we runnning on hypervisor to vt_vga: use textmode when we're running on hypervisor.
Mar 25 2016, 4:52 PM
decui_microsoft.com added inline comments to D5739: vt_vga: use textmode when we're running on hypervisor.
Mar 25 2016, 4:16 PM
decui_microsoft.com updated the diff for D5739: vt_vga: use textmode when we're running on hypervisor.

removed the unnecessary braces as kib suggested.

Mar 25 2016, 4:15 PM
decui_microsoft.com updated the diff for D5739: vt_vga: use textmode when we're running on hypervisor.

I improved the patch as kib suggested.

Mar 25 2016, 3:46 PM
decui_microsoft.com added a comment to D5739: vt_vga: use textmode when we're running on hypervisor.
In D5739#122559, @kib wrote:

The idea is correct, but implementation is arguably not. TUNABLE_XXX_FETCH() keeps the variable unchanged if the env var is not present. The correct logic would be

textmode = vm_guest != VM_GUEST_NO;
TUNABLE_INT_FETCH("hw.vga.textmode", &textmode);

This would give the desired behaviour of enabling textmode by default for guests only, but also allowing user to override it as she wants.

Mar 25 2016, 3:30 PM
decui_microsoft.com abandoned D5727: loader: set hw.vga.textmode=1 on hypervisors.

I made a new patch according to kib's suggestion:
https://reviews.freebsd.org/D5739

Mar 25 2016, 1:41 PM
decui_microsoft.com retitled D5739: vt_vga: use textmode when we're running on hypervisor from to vt_vga: use texemode when we runnning on hypervisor.
Mar 25 2016, 1:39 PM
decui_microsoft.com added a comment to D5727: loader: set hw.vga.textmode=1 on hypervisors.
In D5727#122540, @kib wrote:

Hmm, will it be too late? :) I am not sure whether the vm_guest is set or not there. If it is not set there yet, maybe we can factor out the VM guest detection code give it an MI API and use it in the vga_init().

I really hope that it is not. identcpu() is performed very early since some other fundamental parts of the kernel startup, like initial page tables configuration, depend on the identified CPU features. But I did not verified the order for vt_vga.

Mar 25 2016, 1:00 PM

Mar 24 2016

decui_microsoft.com added a comment to D5727: loader: set hw.vga.textmode=1 on hypervisors.
In D5727#122354, @kib wrote:

It's been some time since I've tested this on Xen, but there was a difference between using hw.vga.textmode or not. It's not like 1 line per second, but it used to be noticeable.

Can you please confirm Xen also conforms to "CPUID(EAX==1).ECX.bit31 == 1" ? I can update my patch to cover all the hypervisors conforming to this?

See identify_hypervisor() in x86/identcpu.c.

Wouldn't it be less hackish to make the decision in vt_vga.c:vga_init() in kernel, without creating fake kenv var ?

Yes, that may be less hackish.

Mar 24 2016, 3:40 PM
decui_microsoft.com updated the diff for D5727: loader: set hw.vga.textmode=1 on hypervisors.

a small coding style change -- use brace for the return value of running_on_hypervisor()

Mar 24 2016, 3:21 PM
decui_microsoft.com updated the diff for D5727: loader: set hw.vga.textmode=1 on hypervisors.
Mar 24 2016, 3:12 PM
decui_microsoft.com added a comment to D5727: loader: set hw.vga.textmode=1 on hypervisors.

It's been some time since I've tested this on Xen, but there was a difference between using hw.vga.textmode or not. It's not like 1 line per second, but it used to be noticeable.

Mar 24 2016, 2:35 PM
decui_microsoft.com added a comment to D5727: loader: set hw.vga.textmode=1 on hypervisors.

Hm, it might we worth to do this for all hypervisors and not only HyperV, this can be easily done by checking the hypervisor bit in CPUID.

Mar 24 2016, 1:19 PM
decui_microsoft.com updated the diff for D5727: loader: set hw.vga.textmode=1 on hypervisors.

fix tab/space indentation and function declaration's style.

Mar 24 2016, 12:04 PM
decui_microsoft.com retitled D5727: loader: set hw.vga.textmode=1 on hypervisors from to loader: set hw.vga.textmode=1 on Hyper-V.
Mar 24 2016, 11:52 AM

Mar 23 2016

decui_microsoft.com added a comment to D5715: hyperv/vmbus: use a better retry method in hv_vmbus_post_message().

Yeah, the more NICs you have the higher chance you got this panic.

My worry is, now that the code sleeps in the globally shared taskqueue_thread. I'd suggest to create two vmbus taskqueues, instead of sharing the global taskqueue_fast/taskqueue_thread. Though that should be done in another patch.

You can not sleep on taskqueue_fast, so only the places on taskqueue_thread need change.

I'd prefer to have our own taskqueues for the mgmt stuffs, i.e. the msg and channel offers, so we could do malloc(WAITOK) and sleep as we wish.

Mar 23 2016, 4:43 AM
decui_microsoft.com retitled D5715: hyperv/vmbus: use a better retry method in hv_vmbus_post_message() from to hyperv/vmbus: use a better retry method in hv_vmbus_post_message().
Mar 23 2016, 3:30 AM
decui_microsoft.com accepted D5714: hyperv/utils: Allow hint to disable individual utility.

LGTM

Mar 23 2016, 2:56 AM

Mar 18 2016

decui_microsoft.com accepted D5669: add bus_child_pnpinfo_str.

LGTM

Mar 18 2016, 6:18 AM
decui_microsoft.com added a reviewer for D5669: add bus_child_pnpinfo_str: decui_microsoft.com.
Mar 18 2016, 6:18 AM
decui_microsoft.com accepted D5651: hyperv/vmbus: introduce snprinf_hv_guid.

I'm Ok without the KASSERT.

Mar 18 2016, 3:19 AM
decui_microsoft.com added a reviewer for D5651: hyperv/vmbus: introduce snprinf_hv_guid: decui_microsoft.com.
Mar 18 2016, 3:17 AM

Mar 17 2016

decui_microsoft.com added a comment to D5651: hyperv/vmbus: introduce snprinf_hv_guid.

Add const and KASSERT too?
Just to make sure people can't pass a too small buf size by mistake (the exact buf size needed here is 37).

Mar 17 2016, 6:25 AM
decui_microsoft.com added inline comments to D5651: hyperv/vmbus: introduce snprinf_hv_guid.
Mar 17 2016, 6:07 AM

Mar 14 2016

decui_microsoft.com added inline comments to D5400: hyperv/vmbus: replace hv_guid with uuid.
Mar 14 2016, 11:31 AM
decui_microsoft.com accepted D5254: hyperv/vmbus: static assign IDT vector for hv.
Mar 14 2016, 4:31 AM
decui_microsoft.com added inline comments to D5400: hyperv/vmbus: replace hv_guid with uuid.
Mar 14 2016, 3:44 AM
decui_microsoft.com added inline comments to D5400: hyperv/vmbus: replace hv_guid with uuid.
Mar 14 2016, 3:23 AM
decui_microsoft.com added inline comments to D5400: hyperv/vmbus: replace hv_guid with uuid.
Mar 14 2016, 2:57 AM

Mar 13 2016

decui_microsoft.com accepted D5254: hyperv/vmbus: static assign IDT vector for hv.

LGTM

Mar 13 2016, 3:10 PM
decui_microsoft.com added inline comments to D5400: hyperv/vmbus: replace hv_guid with uuid.
Mar 13 2016, 3:03 PM
decui_microsoft.com accepted D5215: Use taskqueue_fast to process messages.

LGTM

Mar 13 2016, 1:36 PM
decui_microsoft.com added a comment to D5254: hyperv/vmbus: static assign IDT vector for hv.

Shall we commit this without changing the IDT name?

Mar 13 2016, 1:20 PM
decui_microsoft.com accepted D5619: Remove unnecessary sema, use msleep instead.

LGTM

Mar 13 2016, 12:56 PM
decui_microsoft.com added inline comments to D5619: Remove unnecessary sema, use msleep instead.
Mar 13 2016, 10:47 AM
decui_microsoft.com added inline comments to D5619: Remove unnecessary sema, use msleep instead.
Mar 13 2016, 10:39 AM

Mar 3 2016

decui_microsoft.com added a comment to D5436: hyperv: Use mfence to make sure about the store-load order for msgs.

I'm afraid atomic_thread_fence_seq_cst() here has a potential issue in the case of UP kernel: it is downgraded to a compiler barrier only, which is incorrect here, because the shared memory here is between the host virtual CPU and the UP guest virtual CPU -- at least 2 CPUs are involved (we assume the guest/host virtual CPUs are running on different physical CPUs)

Mar 3 2016, 2:04 PM

Feb 3 2016

decui_microsoft.com retitled D5174: x86: hyperv: use Hyper-V time counter (rather than i8254) to calibrate TSC from to x86: hyperv: use Hyper-V time counter (rather than i8254) to calibrate TSC.
Feb 3 2016, 4:02 PM

Jan 28 2016

decui_microsoft.com accepted D5097: hyperv: stor: Fix the NULL pointer dereference.

LGTM

Jan 28 2016, 7:34 AM
decui_microsoft.com accepted D5087: hyperv/vmbus: malloc a buffer of PAGE_SIZE is grantee physical contig..

LGTM

Jan 28 2016, 7:31 AM

Jan 18 2016

decui_microsoft.com added a comment to D4802: hyperv: vmbus: Optimize channel lookup through id through a map table.

Looks fine to me. Though I have some questions about the channel accessing w/o lock/refcnt.

Yeah, there is an issue when (a device is being hot-removed, or the driver is being unloaded) AND there is a pending event in the channel.

Jan 18 2016, 10:51 AM
decui_microsoft.com accepted D4802: hyperv: vmbus: Optimize channel lookup through id through a map table.

LGTM

Jan 18 2016, 4:58 AM

Jan 17 2016

decui_microsoft.com accepted D4800: Hyperv: vmbus: Use INTR_MPSAFE in swi_add and bind swi thread to each CPU..

LGTM

Jan 17 2016, 8:18 AM
decui_microsoft.com accepted D4920: Hyperv: Event handling code refactor..

LGTM

Jan 17 2016, 8:14 AM

Jan 13 2016

decui_microsoft.com added a comment to D4814: Hyperv: netvsc: Set net_dev's recv buffer size according to NVSP protocol version.

I don't mind committing this, but is it really worth it? I mean, with 16MB you are always on the safe side, and it's not like 1MB of memory is a huge deal this days...

Jan 13 2016, 12:30 PM

Jan 12 2016

decui_microsoft.com accepted D4803: hyperv: vmbus: ring buffer optimization on host pending content to write.

LGTM.

Jan 12 2016, 10:28 AM

Jan 11 2016

decui_microsoft.com abandoned D4611: hyperv: netvsc: support SIOCGIFMEDIA/SIOCSIFMEDIA.

Please goto https://reviews.freebsd.org/D4852 for the new version.

Jan 11 2016, 9:03 AM
decui_microsoft.com accepted D4814: Hyperv: netvsc: Set net_dev's recv buffer size according to NVSP protocol version.

looks good to me.

Jan 11 2016, 8:36 AM
decui_microsoft.com added a comment to D4802: hyperv: vmbus: Optimize channel lookup through id through a map table.

In VmbusProcessChannelEvent(), hv_vmbus_g_connection.channels[relid] still lacks the necessary protection, and in vmbus_channel_on_offer_rescind(), hv_vmbus_g_connection.channels[relid] is not reset to NULL, but I think we can address these in another patch.

Jan 11 2016, 8:03 AM
decui_microsoft.com added a comment to D4802: hyperv: vmbus: Optimize channel lookup through id through a map table.

hv_vmbus_g_connection.channels = malloc(sizeof(unsigned long) * HV_CHANNEL_MAX_COUNT,

sizeof(unsigned long) should be sizeof(hv_vmbus_channel *).

Jan 11 2016, 7:53 AM
decui_microsoft.com added inline comments to D4800: Hyperv: vmbus: Use INTR_MPSAFE in swi_add and bind swi thread to each CPU..
Jan 11 2016, 7:06 AM

Jan 8 2016

decui_microsoft.com added a reviewer for D4595: hyperv: vmbus: hv_vmbus_channel_msg_type: remove unused definitions: sepherosa_gmail.com.
Jan 8 2016, 10:19 AM
decui_microsoft.com accepted D4693: Add interrupt counter.

Looks good to me.

Jan 8 2016, 10:17 AM
decui_microsoft.com added a reviewer for D4693: Add interrupt counter: sepherosa_gmail.com.
Jan 8 2016, 10:16 AM
decui_microsoft.com added a reviewer for D4594: hyperv: netvsc: remove the dummy netvsc_init(): sepherosa_gmail.com.
Jan 8 2016, 10:14 AM
decui_microsoft.com accepted D4762: change timeout of polling to infinite..

The patch is good to me.

Jan 8 2016, 9:59 AM
decui_microsoft.com added reviewers for D4762: change timeout of polling to infinite.: sepherosa_gmail.com, decui_microsoft.com.
Jan 8 2016, 9:57 AM
decui_microsoft.com added a reviewer for D4611: hyperv: netvsc: support SIOCGIFMEDIA/SIOCSIFMEDIA: sepherosa_gmail.com.
Jan 8 2016, 2:53 AM

Dec 29 2015

decui_microsoft.com added a comment to D4597: hyperv: vmbus: remove the per-channel control_work_queue.

Hi Xin, Thanks for committing this patch!

Dec 29 2015, 8:08 AM

Dec 24 2015

decui_microsoft.com added a comment to D4596: hyperv: vmbus: run non-blocking message handlers in vmbus_msg_swintr().
In D4596#99078, @royger wrote:

I've also realized that you are registering the software interrupts without the INTR_MPSAFE flag (see line ~498 of hv_vmbus_drv_freebsd.c), which means that vmbus_msg_swintr will never run concurrently on different CPUs, is this intended?

Dec 24 2015, 3:51 PM
decui_microsoft.com added a comment to D4596: hyperv: vmbus: run non-blocking message handlers in vmbus_msg_swintr().
In D4596#99078, @royger wrote:

LGTM (although I know nothing about HyperV internals).

AFAICT from your description, you cannot run the handlers from vmbus_msg_swintr because some of them expect a reply, and this reply won't be delivered because the previous message hasn't been marked as 'done'. Is there any reason why you don't simply copy the message, mark it as done and then launch the handler from vmbus_msg_swintr?

Dec 24 2015, 3:49 PM
decui_microsoft.com added a comment to D4595: hyperv: vmbus: hv_vmbus_channel_msg_type: remove unused definitions.
In D4595#99073, @royger wrote:

LGTM. This made me wonder, is there some kind of canonical source for the HyperV headers? Or it's mostly ad-hoc for each OS?

Thanks for reviewing the patch. I don't know about such a source. Xin Li should know the history of the drivers better than me.

Dec 24 2015, 3:12 PM
decui_microsoft.com added a comment to D4595: hyperv: vmbus: hv_vmbus_channel_msg_type: remove unused definitions.
In D4595#99077, @royger wrote:

Forgot to mention, on FreeBSD you don't have to add a Signed-off-by tag to commit messages.

Dec 24 2015, 3:07 PM
decui_microsoft.com added a comment to D4611: hyperv: netvsc: support SIOCGIFMEDIA/SIOCSIFMEDIA.

Please check hv_rf_receive_indicate_status in hv_rndis_filter.c, which has callback from hypervisor about media status. i believe we need integrate with this change so that we can report the correct status

Dec 24 2015, 3:03 PM

Dec 22 2015

decui_microsoft.com added a comment to D4676: Eventtimer for Hyper-V.

And we need use something like EARLY_DRIVER_MODULE to make sure hyper-v timer is used as the default event timer, when the VM is running on Hyper-V.

Dec 22 2015, 9:34 AM
decui_microsoft.com added a comment to D4592: Implement hyper-v eventtimer.

Please goto https://reviews.freebsd.org/D4676 for the new version of the patch.

Dec 22 2015, 8:47 AM
decui_microsoft.com added a comment to D4676: Eventtimer for Hyper-V.

Bascially the patch seems good to me.

Dec 22 2015, 8:45 AM

Dec 18 2015

decui_microsoft.com retitled D4611: hyperv: netvsc: support SIOCGIFMEDIA/SIOCSIFMEDIA from to hyperv: netvsc: support SIOCGIFMEDIA/SIOCSIFMEDIA.
Dec 18 2015, 9:29 AM

Dec 16 2015

decui_microsoft.com retitled D4597: hyperv: vmbus: remove the per-channel control_work_queue from to hyperv: vmbus: remove the per-channel control_work_queue.
Dec 16 2015, 1:49 PM
decui_microsoft.com retitled D4596: hyperv: vmbus: run non-blocking message handlers in vmbus_msg_swintr() from to hyperv: vmbus: run non-blocking message handlers in vmbus_msg_swintr().
Dec 16 2015, 1:46 PM
decui_microsoft.com retitled D4595: hyperv: vmbus: hv_vmbus_channel_msg_type: remove unused definitions from to hyperv: vmbus: hv_vmbus_channel_msg_type: remove unused definitions.
Dec 16 2015, 1:43 PM
decui_microsoft.com retitled D4594: hyperv: netvsc: remove the dummy netvsc_init() from to hyperv: netvsc: remove the dummy netvsc_init().
Dec 16 2015, 1:38 PM

Dec 9 2015

decui_microsoft.com added a comment to D4258: hyperv: kvp: wake up the daemon if it's sleeping due to poll().
In D4258#93899, @royger wrote:
In D4258#93144, @royger wrote:

AFAICT I think you are missing a:

seldrain(&hv_kvp_selinfo);

In hv_kvp_dev_close before setting kvp_globals.dev_accessed = false.

Why? At most only 1 daemon is expected to open the dev file /dev/hv_kvp_dev. When the daemon is invoking close() and the execution enters the kernel funntion hv_kvp_dev_close(), we know the daemon is running, so I don't think we need to wake the daemon up?

Sorry for the delay, yesterday was a public holiday here. I agree that you make a special use of this device, so there's no risk in avoiding the seldrain in the close routine (because hv_kvp_selinfo is not going to be freed).

The same applies to hv_kvp_dev_destroy AFAICT, since you kill the thread and don't free the hv_kvp_selinfo struct there's no risk.

Roger.

Thanks a lot for the explanation, Roger!

Dec 9 2015, 11:30 AM
decui_microsoft.com added a comment to D4258: hyperv: kvp: wake up the daemon if it's sleeping due to poll().
In D4258#93144, @royger wrote:

AFAICT I think you are missing a:

seldrain(&hv_kvp_selinfo);

In hv_kvp_dev_close before setting kvp_globals.dev_accessed = false.

Why? At most only 1 daemon is expected to open the dev file /dev/hv_kvp_dev. When the daemon is invoking close() and the execution enters the kernel funntion hv_kvp_dev_close(), we know the daemon is running, so I don't think we need to wake the daemon up?

Hi Roger, may I have your reply on this?

Dec 9 2015, 8:56 AM

Dec 7 2015

decui_microsoft.com added a comment to D4258: hyperv: kvp: wake up the daemon if it's sleeping due to poll().
In D4258#93144, @royger wrote:

AFAICT I think you are missing a:

seldrain(&hv_kvp_selinfo);

In hv_kvp_dev_close before setting kvp_globals.dev_accessed = false.

Why? At most only 1 daemon is expected to open the dev file /dev/hv_kvp_dev. When the daemon is invoking close() and the execution enters the kernel funntion hv_kvp_dev_close(), we know the daemon is running, so I don't think we need to wake the daemon up?

Dec 7 2015, 10:12 AM
decui_microsoft.com added a comment to D4258: hyperv: kvp: wake up the daemon if it's sleeping due to poll().

The patch has been in the status of Accepted for 6 days, but I didn't see it appear in the head of the svn repository.

Dec 7 2015, 8:42 AM

Nov 30 2015

decui_microsoft.com added a reviewer for D4258: hyperv: kvp: wake up the daemon if it's sleeping due to poll(): howard0su_gmail.com.
Nov 30 2015, 2:17 AM

Nov 27 2015

decui_microsoft.com added a member for Contributor Reviewers (ports): decui_microsoft.com.
Nov 27 2015, 5:27 AM

Nov 23 2015

decui_microsoft.com edited reviewers for D4258: hyperv: kvp: wake up the daemon if it's sleeping due to poll(), added: whu, royger, delphij; removed: honzhan_microsoft.com.
Nov 23 2015, 9:35 AM