[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] kvm: set gsi_bits and max_gsi correctly
From: |
Jan Kiszka |
Subject: |
Re: [Qemu-devel] [PATCH] kvm: set gsi_bits and max_gsi correctly |
Date: |
Wed, 28 Mar 2012 20:27:14 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 |
On 2012-03-28 20:20, Alex Williamson wrote:
> On Wed, 2012-03-28 at 14:18 -0400, Jason Baron wrote:
>> The current kvm_init_irq_routing() doesn't set up the used_gsi_bitmap
>> correctly, and as a consequence pins max_gsi to 32 when it really
>> should be 1024. I ran into this limitation while testing pci
>> passthrough, where I consistently got an -ENOSPC return from
>> kvm_get_irq_route_gsi() called from assigned_dev_update_msix_mmio().
>>
>> Signed-off-by: Jason Baron <address@hidden>
>> ---
>> kvm-all.c | 2 +-
>> 1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/kvm-all.c b/kvm-all.c
>> index ab88c7c..b616c7d 100644
>> --- a/kvm-all.c
>> +++ b/kvm-all.c
>> @@ -873,7 +873,7 @@ static void kvm_init_irq_routing(KVMState *s)
>> unsigned int gsi_bits, i;
>>
>> /* Round up so we can search ints using ffs */
>> - gsi_bits = (gsi_count + 31) / 32;
>> + gsi_bits = ALIGN(gsi_count, 32);
>> s->used_gsi_bitmap = g_malloc0(gsi_bits / 8);
>> s->max_gsi = gsi_bits;
>>
>
> Acked-by: Alex Williamson <address@hidden>
>
Acked-by: Jan Kiszka <address@hidden>
Tagging this as "PATCH uq/master" may help Avi and Marcelo to identify
and pick it up for that queue.
Thanks,
Jan
--
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux