On Fri, Jul 14, 2017 at 3:44 PM, Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> wrote: Couple of nits in case you are going send new version (I'm fine with this as well). > +static inline int fill_gva_list(u64 gva_list[], int offset, > + unsigned long start, unsigned long end) > +{ > +} + empty line. > +static void hyperv_flush_tlb_others(const struct cpumask *cpus, > + const struct flush_tlb_info *info) > +{ > + flush->processor_mask = 0; > + if (cpumask_equal(cpus, cpu_present_mask)) { > + flush->flags |= HV_FLUSH_ALL_PROCESSORS; > + } else { > + for_each_cpu(cpu, cpus) { > + vcpu = hv_cpu_number_to_vp_number(cpu); > + if (vcpu < 64) > + __set_bit(vcpu, (unsigned long *) > + &flush->processor_mask); > + else > + goto do_native; Forgot to mention that else can be removed if (vcpu >= 64) goto do_native; __set_bit(vcpu, (unsigned long *)&flush->processor_mask); > + } > + } > +} > + > +void hyperv_setup_mmu_ops(void) > +{ > + if (ms_hyperv.hints & HV_X64_REMOTE_TLB_FLUSH_RECOMMENDED) { > + pr_info("Hyper-V: Using hypercall for remote TLB flush\n"); You may define pr_fmt() at the beginning of this file. Like #define pr_fmt(fmt) "Hyper-V: " ## fmt > + pv_mmu_ops.flush_tlb_others = hyperv_flush_tlb_others; > + setup_clear_cpu_cap(X86_FEATURE_PCID); > + } > +} -- With Best Regards, Andy Shevchenko _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel