On Wednesday 13 May 2009 12:10:34 Alex Williamson wrote: > On Tue, 2009-05-12 at 21:42 -0600, Alex Williamson wrote: > > On Wed, 2009-05-13 at 11:30 +0800, Yang, Sheng wrote: > > > > + kvm->used_gsi_bitmap = malloc(gsi_bytes); > > > > + if (!kvm->used_gsi_bitmap) { > > > > + pthread_mutex_unlock(&kvm->gsi_mutex); > > > > + goto out_close; > > > > + } > > > > + memset(kvm->used_gsi_bitmap, 0, gsi_bytes); > > > > + kvm->max_gsi = gsi_bytes * 8; > > > > > > So max_gsi = gsi_count / 4? > > kvm->max_gsi actually becomes the number of GSIs available in the > bitmap, which may be more than gsi_count if we rounded up. We > preallocate GSIs between gsi_count and max_gsi to avoid using them. > This just lets us not need to special case testing whether a bit in the > last index is < gsi_count. Am I overlooking anything here? Thanks, > Oh, I understand that, and I just follow the logic of last comment here(which "gsi_bytes = (gsi_count + 31) / 32" )... Sorry for confusion... -- regards Yang, Sheng -- 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