On 08/05/2015 06:12 PM, Paolo Bonzini wrote:
>
>
> On 05/08/2015 06:04, Xiao Guangrong wrote:
>> - for_each_shadow_entry_lockless(vcpu, addr, iterator, spte)
>> + for_each_shadow_entry_lockless(vcpu, addr, iterator, spte) {
>> + leaf = iterator.level;
>> +
>> + if (!root)
>> + root = leaf;
>> +
>> + sptes[leaf - 1] = spte;
>> +
>
> I'm a bit undecided between this and open-coding the macro:
>
> for (shadow_walk_init(&iterator, vcpu, addr), root = iterator.level;
> shadow_walk_okay(&iterator);
> __shadow_walk_next(&iterator, spte)) {
> leaf = iterator.level;
> spte = mmu_spte_get_lockless(iterator.sptep);
>
> Any second opinions?
Your adjustment is good to me, i do not have other ideas... :)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
>
>
> On 05/08/2015 06:04, Xiao Guangrong wrote:
>> - for_each_shadow_entry_lockless(vcpu, addr, iterator, spte)
>> + for_each_shadow_entry_lockless(vcpu, addr, iterator, spte) {
>> + leaf = iterator.level;
>> +
>> + if (!root)
>> + root = leaf;
>> +
>> + sptes[leaf - 1] = spte;
>> +
>
> I'm a bit undecided between this and open-coding the macro:
>
> for (shadow_walk_init(&iterator, vcpu, addr), root = iterator.level;
> shadow_walk_okay(&iterator);
> __shadow_walk_next(&iterator, spte)) {
> leaf = iterator.level;
> spte = mmu_spte_get_lockless(iterator.sptep);
>
> Any second opinions?
Your adjustment is good to me, i do not have other ideas... :)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/