The field is read only in __vmbus_open() and it is already stored twice (after a call to hv_cpu_number_to_vp_number()) in target_cpu_store() and init_vp_index(); there is no need to "cache" its value in the channel data structure.
Showing the changes to include/linux (1 of 4 files). Show all
Unified · Split
| @@ -803,15 +803,14 @@ struct vmbus_channel { · 802 unmodified lines | ||
| 803 | 803 | u64 sig_event; |
| 804 | 804 | |
| 805 | 805 | /* |
| 806 | − * Starting with win8, this field will be used to specify | |
| 807 | − * the target virtual processor on which to deliver the interrupt for | |
| 808 | − * the host to guest communication. | |
| 809 | − * Prior to win8, incoming channel interrupts would only | |
| 810 | − * be delivered on cpu 0. Setting this value to 0 would | |
| 811 | − * preserve the earlier behavior. | |
| 806 | + * Starting with win8, this field will be used to specify the | |
| 807 | + * target CPU on which to deliver the interrupt for the host | |
| 808 | + * to guest communication. | |
| 809 | + * | |
| 810 | + * Prior to win8, incoming channel interrupts would only be | |
| 811 | + * delivered on CPU 0. Setting this value to 0 would preserve | |
| 812 | + * the earlier behavior. | |
| 812 | 813 | */ |
| 813 | − u32 target_vp; | |
| 814 | − /* The corresponding CPUID in the guest */ | |
| 815 | 814 | u32 target_cpu; |
| 816 | 815 | int numa_node; |
| 817 | 816 | /* |