From: Pavel Tatashin <pasha.tatashin@xxxxxxxxxx> Date: Thu, 16 Feb 2017 15:13:54 -0500 > In add_node_ranges() when memblock resize happens, the iterator keeps using > the previous freed array. This bug cause hangs on machine where there are > over 128 memory blocks during boot. For example, on machines where memory > interleaving is small. > The problem is seen on T4-4 because it cant have 2T of memory, and memory > is interleaved at 8G. So we have 2T/8G = 256 regions to set node IDs. The > starting size of regions array is 128. Thus, we have to double at least one > time (actually we have to double twice because some memory is already > reserved and thus we need more than 256 regions). We start using an > incorrect pointer to the array after the first doubling. > > Signed-off-by: Pavel Tatashin <pasha.tatashin@xxxxxxxxxx> > Signed-off-by: Babu Moger <babu.moger@xxxxxxxxxx> > Reviewed-by: Babu Moger <babu.moger@xxxxxxxxxx> Applied. -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html