[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v7 12/14] xen/arm: add Xen cache colors command line parameter
On 15.03.2024 11:59, Carlo Nonato wrote: > From: Luca Miccio <lucmiccio@xxxxxxxxx> > > Add a new command line parameter to configure Xen cache colors. > These colors can be dumped with the cache coloring info debug-key. > > By default, Xen uses the first color. > Benchmarking the VM interrupt response time provides an estimation of > LLC usage by Xen's most latency-critical runtime task. Results on Arm > Cortex-A53 on Xilinx Zynq UltraScale+ XCZU9EG show that one color, which > reserves 64 KiB of L2, is enough to attain best responsiveness: > - Xen 1 color latency: 3.1 us > - Xen 2 color latency: 3.1 us > > More colors are instead very likely to be needed on processors whose L1 > cache is physically-indexed and physically-tagged, such as Cortex-A57. > In such cases, coloring applies to L1 also, and there typically are two > distinct L1-colors. Therefore, reserving only one color for Xen would > senselessly partitions a cache memory that is already private, i.e. > underutilize it. Here you say that using just a single color is undesirable on such systems. > The default amount of Xen colors is thus set to one. Yet then, without any further explanation you conclude that 1 is the universal default. > @@ -147,6 +159,21 @@ void __init llc_coloring_init(void) > panic("Number of LLC colors (%u) not in range [2, %u]\n", > max_nr_colors, CONFIG_NR_LLC_COLORS); > > + if ( !xen_num_colors ) > + { > + unsigned int i; > + > + xen_num_colors = MIN(XEN_DEFAULT_NUM_COLORS, max_nr_colors); > + > + printk(XENLOG_WARNING > + "Xen LLC color config not found. Using first %u colors\n", > + xen_num_colors); > + for ( i = 0; i < xen_num_colors; i++ ) > + xen_colors[i] = i; > + } > + else if ( !check_colors(xen_colors, xen_num_colors) ) > + panic("Bad LLC color config for Xen\n"); This "else" branch again lacks a bounds check against max_nr_colors, if I'm not mistaken. Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |