Page MenuHomeFreeBSD
Feed Advanced Search

Oct 31 2016

sepherosa_gmail.com retitled D8394: hyperv/hn: Directly fill chimney sending buffer for small packets. from to hyperv/hn: Directly fill chimney sending buffer for small packets..
Oct 31 2016, 8:24 AM
sepherosa_gmail.com retitled D8393: hyperv/hn: Move TSO packet fixup to an earlier place for if_transmit. from to hyperv/hn: Move TSO packet fixup to an earlier place for if_transmit..
Oct 31 2016, 7:35 AM
sepherosa_gmail.com retitled D8392: hyperv/hn: Regroup if_start related functions. from to hyperv/hn: Regroup if_start related functions..
Oct 31 2016, 6:07 AM
sepherosa_gmail.com retitled D8390: hyperv/hn: Rename cleaned up file. from to hyperv/hn: Rename cleaned up file..
Oct 31 2016, 5:07 AM
sepherosa_gmail.com retitled D8389: Cosmetic cleanup; no functional changes. from to Cosmetic cleanup; no functional changes..
Oct 31 2016, 3:49 AM

Oct 28 2016

sepherosa_gmail.com retitled D8370: hyperv/hn: Don't start shared TX taskq, if the hypervisor is not Hyper-V. from to hyperv/hn: Don't start shared TX taskq, if the hypervisor is not Hyper-V..
Oct 28 2016, 7:36 AM
sepherosa_gmail.com retitled D8369: hyperv/hn: Reset do_lro, if the hash types are not TCP related. from to hyperv/hn: Reset do_lro, if the hash types are not TCP related..
Oct 28 2016, 7:18 AM
sepherosa_gmail.com retitled D8368: hyperv/hn: Cleanup RXBUF ack processing. from to hyperv/hn: Cleanup RXBUF ack processing..
Oct 28 2016, 6:54 AM
sepherosa_gmail.com retitled D8367: hyperv/hn: Rework temporary channel packet buffer expanding. from to hyperv/hn: Rework temporary channel packet buffer expanding..
Oct 28 2016, 5:30 AM

Oct 27 2016

sepherosa_gmail.com retitled D8361: hyperv/hn: Rename cleaned up RNDIS source file. from to hyperv/hn: Rename cleaned up RNDIS source file..
Oct 27 2016, 9:21 AM
sepherosa_gmail.com retitled D8360: hyeprv/hn: Rename cleaned up RNDIS header file. from to hyeprv/hn: Rename cleaned up RNDIS header file..
Oct 27 2016, 9:20 AM
sepherosa_gmail.com retitled D8359: hyperv/hn: Change header guardian; in preparation for the upcoming rename. from to hyperv/hn: Change header guardian; in preparation for the upcoming rename..
Oct 27 2016, 9:18 AM
sepherosa_gmail.com retitled D8358: hyperv/hn: Cleanup RNDIS related files. from to hyperv/hn: Cleanup RNDIS related files..
Oct 27 2016, 8:38 AM
sepherosa_gmail.com retitled D8357: hyperv/hn: Pull data path code up. from to hyperv/hn: Pull data path code up..
Oct 27 2016, 7:33 AM
sepherosa_gmail.com retitled D8356: hyperv/hn: Reorganize RX path; mainly pull non-control code path up from to hyperv/hn: Reorganize RX path; mainly pull non-control code path up.
Oct 27 2016, 6:46 AM
sepherosa_gmail.com retitled D8355: hyperv/hn: Nuke unnecessary indirection. from to hyperv/hn: Nuke unnecessary indirection..
Oct 27 2016, 2:49 AM
sepherosa_gmail.com retitled D8354: hyperv/hn: Rename cleaned up NVS source file. from to hyperv/hn: Rename cleaned up NVS source file..
Oct 27 2016, 2:30 AM
sepherosa_gmail.com retitled D8353: hyperv/hn: Rename cleaned up NVS header file. from to hyperv/hn: Rename cleaned up NVS header file..
Oct 27 2016, 2:29 AM
sepherosa_gmail.com retitled D8352: hyperv/hn: Change header guardian; in preparation for the upcoming rename. from to hyperv/hn: Change header guardian; in preparation for the upcoming rename..
Oct 27 2016, 2:27 AM

Oct 26 2016

sepherosa_gmail.com retitled D8347: hyperv/hn: NVS inclusion cleanup and forward declare functions. from to hyperv/hn: NVS inclusion cleanup and forward declare functions..
Oct 26 2016, 9:40 AM
sepherosa_gmail.com retitled D8346: hyperv/hn: Move send context to NVS domain. from to hyperv/hn: Move send context to NVS domain..
Oct 26 2016, 9:07 AM
sepherosa_gmail.com retitled D8345: hyperv/hn: Move hn_softc to if_hnvar.h from to hyperv/hn: Move hn_softc to if_hnvar.h.
Oct 26 2016, 8:20 AM
sepherosa_gmail.com retitled D8343: hyperv/hn: Shuffle chimney sending buffer alloc/free around. from to hyperv/hn: Shuffle chimney sending buffer alloc/free around..
Oct 26 2016, 6:39 AM
sepherosa_gmail.com retitled D8342: hyperv/hn: Define empty packet filter. from to hyperv/hn: Define empty packet filter..
Oct 26 2016, 6:20 AM
sepherosa_gmail.com retitled D8341: hyperv/hn: Move %b format string for capabilities near their definition. from to hyperv/hn: Move %b format string for capabilities near their definition..
Oct 26 2016, 5:57 AM
sepherosa_gmail.com retitled D8340: hyperv/hn: Nuke unnecessary M_NETVSC from to hyperv/hn: Nuke unnecessary M_NETVSC.
Oct 26 2016, 5:38 AM
sepherosa_gmail.com retitled D8338: hyperv/hn: Properly configure RSS according to RSS capabilities from to hyperv/hn: Properly configure RSS according to RSS capabilities.
Oct 26 2016, 3:34 AM

Oct 21 2016

sepherosa_gmail.com retitled D8314: hyperv/hn: Nuke unused forward declaration. from to hyperv/hn: Nuke unused forward declaration..
Oct 21 2016, 9:08 AM
sepherosa_gmail.com retitled D8313: hyperv/hn: Fix RX filter settings. from to hyperv/hn: Fix RX filter settings..
Oct 21 2016, 9:00 AM
sepherosa_gmail.com retitled D8311: hyperv/hn: Start link status check, if no network changes were pending. from to hyperv/hn: Start link status check, if no network changes were pending..
Oct 21 2016, 7:22 AM
sepherosa_gmail.com retitled D8310: hyperv/hn: Properly handle synthetic parts reattach failure. from to hyperv/hn: Properly handle synthetic parts reattach failure..
Oct 21 2016, 7:02 AM
sepherosa_gmail.com retitled D8309: hyperv/hn: Fix chimney sending buffer leakage upon NVS sending failure. from to hyperv/hn: Fix chimney sending buffer leakage upon NVS sending failure..
Oct 21 2016, 6:10 AM
sepherosa_gmail.com retitled D8308: hyperv/hn: Move chimney buffer index and size to txdesc. from to hyperv/hn: Move chimney buffer index and size to txdesc..
Oct 21 2016, 5:03 AM

Oct 20 2016

sepherosa_gmail.com retitled D8296: hyperv/hn: Function renaming; consistent w/ hardware capabilities query. from to hyperv/hn: Function renaming; consistent w/ hardware capabilities query..
Oct 20 2016, 9:31 AM
sepherosa_gmail.com updated the diff for D8293: hyperv/hn: Check NVS version for HASHVAL pktinfo on sending path..
Oct 20 2016, 9:30 AM
sepherosa_gmail.com retitled D8295: hyperv/hn: Add network change support. from to hyperv/hn: Add network change support..
Oct 20 2016, 8:37 AM
sepherosa_gmail.com retitled D8293: hyperv/hn: Check NVS version for HASHVAL pktinfo on sending path. from to hyperv/hn: Check NVS version for HASHVAL pktinfo on sending path..
Oct 20 2016, 6:57 AM
sepherosa_gmail.com updated the diff for D8291: hyperv/hn: Always query RSS capabilities..
Oct 20 2016, 2:31 AM
sepherosa_gmail.com retitled D8291: hyperv/hn: Always query RSS capabilities. from to hyperv/hn: Always query RSS capabilities..
Oct 20 2016, 1:53 AM
sepherosa_gmail.com added inline comments to D8280: hyperv/util unify the negotitation for utils.
Oct 20 2016, 1:44 AM

Oct 13 2016

sepherosa_gmail.com accepted D8238: hyperv/stor: fix the regression of TRIM.
Oct 13 2016, 7:59 AM
sepherosa_gmail.com added a comment to D8224: hyperv/vss: implement the VSS (Volume Shadow Copy Service).
In D8224#170848, @kib wrote:

Do you have specific questions to me, e.g. about the interfaces used ? I definitely would not read the hv daemon code, but sure can answer questions about the supposed use of the FreeBSD interfaces to VFS/VM.

Oct 13 2016, 1:12 AM

Oct 11 2016

sepherosa_gmail.com retitled D8214: ifnet: Use if_link_state snapshot to invoke ifnet_link_event from to ifnet: Use if_link_state snapshot to invoke ifnet_link_event.
Oct 11 2016, 2:30 AM

Oct 10 2016

sepherosa_gmail.com updated the diff for D8209: hyperv/hn: Rework link status support..

Remove the taskqueue_drain on if_link_status, if_link_state_change should be fixed instead.

Oct 10 2016, 9:42 AM
sepherosa_gmail.com retitled D8209: hyperv/hn: Rework link status support. from to hyperv/hn: Rework link status support..
Oct 10 2016, 9:22 AM
sepherosa_gmail.com retitled D8208: hyperv/vmbus: Allow driver to inject synchronous task into channel taskq. from to hyperv/vmbus: Allow driver to inject synchronous task into channel taskq..
Oct 10 2016, 9:18 AM

Sep 30 2016

sepherosa_gmail.com retitled D8091: hyperv/hn: Suffix NDIS offload size with NDIS version. from to hyperv/hn: Suffix NDIS offload size with NDIS version..
Sep 30 2016, 9:15 AM
sepherosa_gmail.com retitled D8090: hyperv/hn: Generalize RSS capabilities query. from to hyperv/hn: Generalize RSS capabilities query..
Sep 30 2016, 9:05 AM
sepherosa_gmail.com retitled D8089: hyperv/hn: Fix if_hw_tsomax setup. from to hyperv/hn: Fix if_hw_tsomax setup..
Sep 30 2016, 8:34 AM
sepherosa_gmail.com retitled D8088: hyperv/hn: Fix checksum offload settings from to hyperv/hn: Fix checksum offload settings.
Sep 30 2016, 7:07 AM
sepherosa_gmail.com added a comment to D8071: use a better method to get BAR type in pci_resource_flags().

Looks good. Do you have access to commit it?

Sep 30 2016, 2:06 AM
sepherosa_gmail.com added a comment to D8071: use a better method to get BAR type in pci_resource_flags().

I will commit it today, unless hps beats me to it :)

Sep 30 2016, 1:46 AM

Sep 29 2016

sepherosa_gmail.com retitled D8068: hyperv/hn: Add stubs for OFFLOAD_CURRENT_CONFIG and NETWORK_CHANGE status from to hyperv/hn: Add stubs for OFFLOAD_CURRENT_CONFIG and NETWORK_CHANGE status.
Sep 29 2016, 6:26 AM
sepherosa_gmail.com retitled D8067: hyperv/vmbus: Add missing vmbus_if.c to module build. from to hyperv/vmbus: Add missing vmbus_if.c to module build..
Sep 29 2016, 3:34 AM
sepherosa_gmail.com retitled D8066: hyperv/hn: Fix detach and attach error handling. from to hyperv/hn: Fix detach and attach error handling..
Sep 29 2016, 3:32 AM
sepherosa_gmail.com retitled D8065: hyperv/hn: If synthetic parts are detached, don't touch them. from to hyperv/hn: If synthetic parts are detached, don't touch them..
Sep 29 2016, 2:43 AM
sepherosa_gmail.com updated the diff for D7949: x86/ioapic: Stick to cpu0 for I/O APIC pins on Hyper-V..

Disallow destination cpu change for Hyper-V's I/O APIC, suggested by: jhb

Sep 29 2016, 2:10 AM

Sep 28 2016

sepherosa_gmail.com retitled D8057: hyperv/hn: Don't set HASHVAL pktinfo for NDIS < 6.30 from to hyperv/hn: Don't set HASHVAL pktinfo for NDIS < 6.30.
Sep 28 2016, 9:18 AM
sepherosa_gmail.com retitled D8056: hyperv/hn: Consolidate hn_init() and hn_stop() from to hyperv/hn: Consolidate hn_init() and hn_stop().
Sep 28 2016, 5:38 AM
sepherosa_gmail.com retitled D8055: hyperv/hn: Move TX tasks' draining into hn_suspend(). from to hyperv/hn: Move TX tasks' draining into hn_suspend()..
Sep 28 2016, 4:07 AM

Sep 27 2016

sepherosa_gmail.com retitled D8049: hyperv/hn: Flatten RX filter configuration. from to hyperv/hn: Flatten RX filter configuration..
Sep 27 2016, 9:45 AM
sepherosa_gmail.com retitled D8048: hyperv/hn: Reorder the comment a little bit. from to hyperv/hn: Reorder the comment a little bit..
Sep 27 2016, 8:38 AM
sepherosa_gmail.com retitled D8047: hyperv/hn: Reorganize the synthetic parts detach. from to hyperv/hn: Reorganize the synthetic parts detach..
Sep 27 2016, 8:22 AM
sepherosa_gmail.com added a comment to D7949: x86/ioapic: Stick to cpu0 for I/O APIC pins on Hyper-V..
In D7949#165286, @jhb wrote:
In D7949#165052, @jhb wrote:

A couple of comments:

  1. The shuffle is going to go away (I plan to enable EARLY_AP_STARTUP by default in 12 and possibly 11.x).
  1. Is the underlying issue that you don't handle MSI-X interrupt migration correctly? If so, we have a workaround for that case for Xen that you could use which prevents all migration (not just the boot-time migration).
  • On Hyper-V MSI-Xs are always allocated after AP started with the WIP Hyper-V PCI-bridge code for PCI passthrough/SR-IOV, so re-shuffle is actually not involved.
  • On Hyper-V, only atkbd and ata allocate interrupts from PIC (let's ignore the fdc there :), which are not performance critical at all.

The main issue, we found is that when re-shuffle happened, CAM was issuing commands to ata controller, and the ata interrupt was lost due to the reshuffle, which leaded to all kinds of weirdness later on (mainly because the disk itself is shared w/ the ata controller and the Hyper-V synthetic controller).

So the odd thing there is that in theory the shuffle shouldn't happen during CAM device discovery. The normal device discovery happens during the interrupt hooks run at SI_SUB_INT_CONFIG_HOOKS and thread0 waits for any interrupt hooks to finish before proceeding. The CAM bus scans only clear their hook once the bus scan is finished. However, what may be happening is that GEOM decides to asynchronously kick off tasting for the various partition providers, etc. after the CAM bus scans have finished. Even then, interrupts still shouldn't be lost as interrupt migration for an I/O APIC pin is careful to first mask the pin, then update it with the new (CPU, IDT) pair. After that is done, the old (CPU, IDT) pair is released via apic_free_vector() which uses sched_bind() to move to the old CPU and leave interrupts disabled for at least one instruction to catch any "in-flight" interrupts on the old CPU.

Certain commands are sent after disks are attached asynchronously after the config_hook, AFAIR, writecache and readahead etc.

It might be worth adding a 'DELAY(100)' or so after the sched_bind() to give any in-flight interrupts more time to hit the destination CPU (though the sched_bind() is going to go through an IPI send/ack if we weren't already running on the old CPU).

I am not going to mess up CAM too much this time, since as you have noted EARLY_AP will be enabled by default on 11 and 12. So I believe disabling the reshuffle on Hyper-V is the best practice (well, I also need to MFC it to 10).

So my concern is that if the I/O APIC emulation in Hyper-V doesn't handle shuffling, then that means that users using 'cpuset -x' to move interrupts around from the command line can also lose interrupts. In that case, I think we should disable interrupt migration on Hyper-V in general (not just in the shuffle). However, it would be helpful to know what is actually broken. Xen had a bug with MSI-X in particular such that older versions of Xen didn't handle writes to MSI-X table entries while MSI-X was enabled (but the entry was masked). That affected 'cpuset -x' as well as the boot round-robin, so for Xen we disable all MSI-X migration on hypervisors with the bug.

I will check Dexuan about MSI-X migration, since PCI passthrough is kinda working (we get a working passthrough-ed ix w/ MSI-X). However, if I recall correctly, he told me MSI-X migration works w/ 'cpuset -x' (not under heavy load through). So currently I believe we only need to prevent line based interrupts migration, which really goes through IOAPIC.

Confirmed w/ Dexuan, cpuset -x work for PCI passthrough'ed MSI-X. So we only need to disable line interrupt migration.

Sep 27 2016, 6:45 AM
sepherosa_gmail.com updated the diff for D7949: x86/ioapic: Stick to cpu0 for I/O APIC pins on Hyper-V..
Sep 27 2016, 6:44 AM
sepherosa_gmail.com retitled D8046: hyperv/hn: Suspend and resume the backend properly upon MTU change from to hyperv/hn: Suspend and resume the backend properly upon MTU change.
Sep 27 2016, 5:53 AM
sepherosa_gmail.com retitled D8045: hyperv/vmbus: Add function to drain channel interrupt task. from to hyperv/vmbus: Add function to drain channel interrupt task..
Sep 27 2016, 5:37 AM
sepherosa_gmail.com retitled D8044: hyperv/vmbus: Add functions to test RX/TX bufring emptiness from to hyperv/vmbus: Add functions to test RX/TX bufring emptiness.
Sep 27 2016, 5:35 AM
sepherosa_gmail.com added a comment to D7693: hyperv/storvsc: disable ata but enable CD/DVD and remove stordisengage.
In D7693#160050, @mav wrote:

One more downside of this CAM modification approach is that if previously user not loading hyperv drivers automatically got legacy emulation ATA, after this change -- he will get no disks at all.

How about the latest patch? The changes to the CAM (5 lines of effective code) is much less invasive than previous ones, and I think it address various concerns properly.

Sep 27 2016, 1:20 AM

Sep 23 2016

sepherosa_gmail.com retitled D8008: hyperv/vmbus: Add dynamic device add and remove support from to hyperv/vmbus: Add dynamic device add and remove support.
Sep 23 2016, 3:02 AM
sepherosa_gmail.com added a comment to D7949: x86/ioapic: Stick to cpu0 for I/O APIC pins on Hyper-V..
In D7949#165286, @jhb wrote:
In D7949#165052, @jhb wrote:

A couple of comments:

  1. The shuffle is going to go away (I plan to enable EARLY_AP_STARTUP by default in 12 and possibly 11.x).
  1. Is the underlying issue that you don't handle MSI-X interrupt migration correctly? If so, we have a workaround for that case for Xen that you could use which prevents all migration (not just the boot-time migration).
  • On Hyper-V MSI-Xs are always allocated after AP started with the WIP Hyper-V PCI-bridge code for PCI passthrough/SR-IOV, so re-shuffle is actually not involved.
  • On Hyper-V, only atkbd and ata allocate interrupts from PIC (let's ignore the fdc there :), which are not performance critical at all.

The main issue, we found is that when re-shuffle happened, CAM was issuing commands to ata controller, and the ata interrupt was lost due to the reshuffle, which leaded to all kinds of weirdness later on (mainly because the disk itself is shared w/ the ata controller and the Hyper-V synthetic controller).

So the odd thing there is that in theory the shuffle shouldn't happen during CAM device discovery. The normal device discovery happens during the interrupt hooks run at SI_SUB_INT_CONFIG_HOOKS and thread0 waits for any interrupt hooks to finish before proceeding. The CAM bus scans only clear their hook once the bus scan is finished. However, what may be happening is that GEOM decides to asynchronously kick off tasting for the various partition providers, etc. after the CAM bus scans have finished. Even then, interrupts still shouldn't be lost as interrupt migration for an I/O APIC pin is careful to first mask the pin, then update it with the new (CPU, IDT) pair. After that is done, the old (CPU, IDT) pair is released via apic_free_vector() which uses sched_bind() to move to the old CPU and leave interrupts disabled for at least one instruction to catch any "in-flight" interrupts on the old CPU.

Certain commands are sent after disks are attached asynchronously after the config_hook, AFAIR, writecache and readahead etc.

It might be worth adding a 'DELAY(100)' or so after the sched_bind() to give any in-flight interrupts more time to hit the destination CPU (though the sched_bind() is going to go through an IPI send/ack if we weren't already running on the old CPU).

I am not going to mess up CAM too much this time, since as you have noted EARLY_AP will be enabled by default on 11 and 12. So I believe disabling the reshuffle on Hyper-V is the best practice (well, I also need to MFC it to 10).

So my concern is that if the I/O APIC emulation in Hyper-V doesn't handle shuffling, then that means that users using 'cpuset -x' to move interrupts around from the command line can also lose interrupts. In that case, I think we should disable interrupt migration on Hyper-V in general (not just in the shuffle). However, it would be helpful to know what is actually broken. Xen had a bug with MSI-X in particular such that older versions of Xen didn't handle writes to MSI-X table entries while MSI-X was enabled (but the entry was masked). That affected 'cpuset -x' as well as the boot round-robin, so for Xen we disable all MSI-X migration on hypervisors with the bug.

I will check Dexuan about MSI-X migration, since PCI passthrough is kinda working (we get a working passthrough-ed ix w/ MSI-X). However, if I recall correctly, he told me MSI-X migration works w/ 'cpuset -x' (not under heavy load through). So currently I believe we only need to prevent line based interrupts migration, which really goes through IOAPIC.

Sep 23 2016, 2:58 AM

Sep 22 2016

sepherosa_gmail.com abandoned D7987: hyperv/vmbus: Use Giant for device scan..

Can cause deadlock. It will be fixed in the upcoming channel dynamic detach/attach work.

Sep 22 2016, 3:26 AM
sepherosa_gmail.com added a comment to D7914: Clear the MEM/PORT_EN bit when updating PCI BAR.
In D7914#165285, @jhb wrote:
In D7914#165049, @jhb wrote:

In theory the callers should be doing this (e.g. during something like resume where we write all the BARs). In addition, the ROM BAR shouldn't toggle MEMEN for all other memory BARs since it has its own bit. I'd rather we fix the callers that need this changed. There are some places in pci.c that aren't quite correct. Are you using this in out-of-tree changes or are you having issues with the existing uses (e.g. during boot-time probe)?

It's for WIP Hyper-V PCI bridge for PCI passthrough/SR-IOV. The WIP bridge driver will program the BARs when its children try to allocate RES_MEMORY, however, if the MEMEN is set (e.g. Upon the first RES_MEMORY request w/ RF_ACTIVE, the MEMEN will be set. When second RES_MEMORY request is received, normally for MSI-X, the MEMEN has been set), the hypervisor will ignore the programmed value, the exact path is:
pci_alloc_resource -> pci_reserve_map -> pci_write_bar.

Do you mean we should move the MEMEN clear/set to pci_reserve_map?

Yes. Truth be told, what we really should be doing is not setting MEMEN or IOEN unless/until all BARs of a given resource type are programmed/valid. I haven't gotten around to fixing that. For now, doing the disable/enable in pci_reserve_map() should be ok.

Sep 22 2016, 3:16 AM
sepherosa_gmail.com added a comment to D7949: x86/ioapic: Stick to cpu0 for I/O APIC pins on Hyper-V..
In D7949#165286, @jhb wrote:
In D7949#165052, @jhb wrote:

A couple of comments:

  1. The shuffle is going to go away (I plan to enable EARLY_AP_STARTUP by default in 12 and possibly 11.x).
  1. Is the underlying issue that you don't handle MSI-X interrupt migration correctly? If so, we have a workaround for that case for Xen that you could use which prevents all migration (not just the boot-time migration).
  • On Hyper-V MSI-Xs are always allocated after AP started with the WIP Hyper-V PCI-bridge code for PCI passthrough/SR-IOV, so re-shuffle is actually not involved.
  • On Hyper-V, only atkbd and ata allocate interrupts from PIC (let's ignore the fdc there :), which are not performance critical at all.

The main issue, we found is that when re-shuffle happened, CAM was issuing commands to ata controller, and the ata interrupt was lost due to the reshuffle, which leaded to all kinds of weirdness later on (mainly because the disk itself is shared w/ the ata controller and the Hyper-V synthetic controller).

So the odd thing there is that in theory the shuffle shouldn't happen during CAM device discovery. The normal device discovery happens during the interrupt hooks run at SI_SUB_INT_CONFIG_HOOKS and thread0 waits for any interrupt hooks to finish before proceeding. The CAM bus scans only clear their hook once the bus scan is finished. However, what may be happening is that GEOM decides to asynchronously kick off tasting for the various partition providers, etc. after the CAM bus scans have finished. Even then, interrupts still shouldn't be lost as interrupt migration for an I/O APIC pin is careful to first mask the pin, then update it with the new (CPU, IDT) pair. After that is done, the old (CPU, IDT) pair is released via apic_free_vector() which uses sched_bind() to move to the old CPU and leave interrupts disabled for at least one instruction to catch any "in-flight" interrupts on the old CPU.

Sep 22 2016, 3:14 AM

Sep 21 2016

sepherosa_gmail.com retitled D7987: hyperv/vmbus: Use Giant for device scan. from to hyperv/vmbus: Use Giant for device scan..
Sep 21 2016, 3:18 AM
sepherosa_gmail.com added a comment to D7914: Clear the MEM/PORT_EN bit when updating PCI BAR.
In D7914#165049, @jhb wrote:

In theory the callers should be doing this (e.g. during something like resume where we write all the BARs). In addition, the ROM BAR shouldn't toggle MEMEN for all other memory BARs since it has its own bit. I'd rather we fix the callers that need this changed. There are some places in pci.c that aren't quite correct. Are you using this in out-of-tree changes or are you having issues with the existing uses (e.g. during boot-time probe)?

Sep 21 2016, 2:00 AM
sepherosa_gmail.com added a comment to D7949: x86/ioapic: Stick to cpu0 for I/O APIC pins on Hyper-V..
In D7949#165052, @jhb wrote:

A couple of comments:

  1. The shuffle is going to go away (I plan to enable EARLY_AP_STARTUP by default in 12 and possibly 11.x).
  1. Is the underlying issue that you don't handle MSI-X interrupt migration correctly? If so, we have a workaround for that case for Xen that you could use which prevents all migration (not just the boot-time migration).
Sep 21 2016, 1:49 AM

Sep 20 2016

sepherosa_gmail.com retitled D7963: hyperv/hn: Put debug messages under bootverbose from to hyperv/hn: Put debug messages under bootverbose.
Sep 20 2016, 6:29 AM
sepherosa_gmail.com retitled D7962: hyperv/vmbus: Assert that the bufring address is page aligned. from to hyperv/vmbus: Assert that the bufring address is page aligned..
Sep 20 2016, 6:17 AM
sepherosa_gmail.com retitled D7961: hyperv/hn: Allocate bufrings in attach DEVMETHOD. from to hyperv/hn: Allocate bufrings in attach DEVMETHOD..
Sep 20 2016, 6:07 AM
sepherosa_gmail.com retitled D7960: hyperv/vmbus: Allow bufrings preallocation. from to hyperv/vmbus: Allow bufrings preallocation..
Sep 20 2016, 5:25 AM

Sep 19 2016

sepherosa_gmail.com retitled D7950: hyperv/hn: Let the caller of hn_nvs_doinit() do the error logging. from to hyperv/hn: Let the caller of hn_nvs_doinit() do the error logging..
Sep 19 2016, 8:26 AM
sepherosa_gmail.com retitled D7949: x86/ioapic: Stick to cpu0 for I/O APIC pins on Hyper-V. from to x86: Don't shuffle interrupts' target CPU on Hyper-V..
Sep 19 2016, 6:12 AM
sepherosa_gmail.com retitled D7948: hyperv/hn: Fix ifnet hwassist setup. from to hyperv/hn: Fix ifnet hwassist setup..
Sep 19 2016, 6:08 AM

Sep 18 2016

sepherosa_gmail.com retitled D7927: hyperv/hn: Allow RSS capability flipping upon attach/reinit. from to hyperv/hn: Allow RSS capability flipping upon attach/reinit..
Sep 18 2016, 8:23 AM
sepherosa_gmail.com retitled D7924: hyperv/hn: Stringent RSS sysctl checks from to hyperv/hn: Stringent RSS sysctl checks.
Sep 18 2016, 7:15 AM
sepherosa_gmail.com retitled D7923: hyperv/hn: Don't allow MTU change, if it is not supported by the NVS. from to hyperv/hn: Don't allow MTU change, if it is not supported by the NVS..
Sep 18 2016, 6:48 AM
sepherosa_gmail.com retitled D7922: hyperv/hn: Save capabilities for later use. from to hyperv/hn: Save capabilities for later use..
Sep 18 2016, 6:30 AM
sepherosa_gmail.com updated the diff for D7919: hyperv/hn: Don't allow NVS and NDIS version change upon reinitailization.
Sep 18 2016, 5:05 AM
sepherosa_gmail.com retitled D7919: hyperv/hn: Don't allow NVS and NDIS version change upon reinitailization from to hyperv/hn: Don't allow NVS and NDIS version change upon reinitailization.
Sep 18 2016, 5:00 AM
sepherosa_gmail.com retitled D7916: hyperv/hn: Apply RSS indirect table fixup before configure RNDIS RSS. from to hyperv/hn: Apply RSS indirect table fixup before configure RNDIS RSS..
Sep 18 2016, 3:15 AM

Sep 14 2016

sepherosa_gmail.com retitled D7890: hyperv/hn: Add sysctls to dynamic adjust RSS key and indirect table from to hyperv/hn: Add sysctls to dynamic adjust RSS key and indirect table.
Sep 14 2016, 9:14 AM
sepherosa_gmail.com retitled D7889: hyperv/hn: Don't mess up RSS key and indirect table after attachment. from to hyperv/hn: Don't mess up RSS key and indirect table after attachment..
Sep 14 2016, 6:34 AM

Sep 13 2016

sepherosa_gmail.com retitled D7875: hyperv/hn: Put debug message under bootverbose from to hyperv/hn: Put debug message under bootverbose.
Sep 13 2016, 9:45 AM
sepherosa_gmail.com retitled D7874: hyperv/hn: Regroup ifnet setup code. from to hyperv/hn: Regroup ifnet setup code..
Sep 13 2016, 9:37 AM
sepherosa_gmail.com retitled D7873: hyperv/hn: Fix some ifnet settings from to hyperv/hn: Fix some ifnet settings.
Sep 13 2016, 9:03 AM
sepherosa_gmail.com closed D5619: Remove unnecessary sema, use msleep instead.
Sep 13 2016, 9:02 AM
sepherosa_gmail.com accepted D5619: Remove unnecessary sema, use msleep instead.

Most parts no longer apply; and we will take different approach, i.e. vmbus_xact.

Sep 13 2016, 9:01 AM
sepherosa_gmail.com closed D4803: hyperv: vmbus: ring buffer optimization on host pending content to write.
Sep 13 2016, 9:00 AM
sepherosa_gmail.com accepted D4803: hyperv: vmbus: ring buffer optimization on host pending content to write.

No longer applies; and I don't think we would need it.

Sep 13 2016, 9:00 AM