On 2011-02-07 17:26, Avi Kivity wrote: > On 02/07/2011 05:58 PM, Jan Kiszka wrote: >> On 2011-02-07 16:52, Avi Kivity wrote: >>> On 02/07/2011 05:38 PM, Jan Kiszka wrote: >>>>> >>>>> I don't know as it is allowed to sleep, it doesn't call any sleeping >>>>> functions to my knowledge. What worries me in the RT case is that the >>>>> spinlock acquired for hardware_enable might be preempted and run on >>>>> another CPU, which obviously isn't what you want. >>>> >>>> I see now, there are calls to raw_smp_processor_id. >>>> >>>> I think it's best to make this a raw lock. At this chance, some >>>> read-only users of vm_list should be rcu'ified. Will have a look. >>> >>> vm_list is rarely used, for either read or write. I don't see the need >>> to rcu it. >> >> Avoid that code under this lock expands the preempt-disabled period, >> specifically under -rt, and specifically as the number of objects over >> which we loop is user-defined. > > Good point; even under non-rt. > > (well, actually, cpufreq_notifier and kvm_arch_hardware_enable are > already non preemptible, and the stats code should just go away?) The stats code is trivial to convert, so it doesn't matter. But what about mmu_shrink and its list_move_tail? How is this synchronized against kvm_destroy_vm - already today? Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html