[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v3 02/26] ARM: GICv3: allocate LPI pending and property table



Hi,

On 31/03/17 23:59, Stefano Stabellini wrote:
> On Fri, 31 Mar 2017, Andre Przywara wrote:
>> The ARM GICv3 provides a new kind of interrupt called LPIs.
>> The pending bits and the configuration data (priority, enable bits) for
>> those LPIs are stored in tables in normal memory, which software has to
>> provide to the hardware.
>> Allocate the required memory, initialize it and hand it over to each
>> redistributor. The maximum number of LPIs to be used can be adjusted with
>> the command line option "max_lpi_bits", which defaults to 20 bits,
>> covering about one million LPIs.
>>
>> Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx>
>> ---

[...]

>> +static unsigned int max_lpi_bits = 20;
>> +integer_param("max_lpi_bits", max_lpi_bits);
> 
> The only thing missing is checking that the user has passed max_lpi_bits
> or warn if she has not (or if the memory usage is too high).

Right, I was missing that.
So I went with the "if memory usage is too high" version here, since the
default of 20 bits results in a 16KB first level table only. I would
then start warning if the bits exceed 24 (which is 256KB).
From what I could learn, the ARM GIC-500 provides 16 bits of LPIs, and
Cavium advertises 20 bits, AFAIK (hence the default).
I don't know about other platforms or future machines, though, so we
should keep this in.

> Look at the way dom0_mem is implemented.

Thanks!
Andre.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.