mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-22 16:06:04 -05:00
s390/topology: Improve topology detection
Add early polarization detection instead of assuming horizontal polarization. Signed-off-by: Mete Durlu <meted@linux.ibm.com> Reviewed-by: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
This commit is contained in:
parent
03b3e82a78
commit
9988df07db
1 changed files with 11 additions and 0 deletions
|
@ -556,6 +556,16 @@ static void __init alloc_masks(struct sysinfo_15_1_x *info,
|
|||
}
|
||||
}
|
||||
|
||||
static int __init detect_polarization(union topology_entry *tle)
|
||||
{
|
||||
struct topology_core *tl_core;
|
||||
|
||||
while (tle->nl)
|
||||
tle = next_tle(tle);
|
||||
tl_core = (struct topology_core *)tle;
|
||||
return tl_core->pp != POLARIZATION_HRZ;
|
||||
}
|
||||
|
||||
void __init topology_init_early(void)
|
||||
{
|
||||
struct sysinfo_15_1_x *info;
|
||||
|
@ -575,6 +585,7 @@ void __init topology_init_early(void)
|
|||
__func__, PAGE_SIZE, PAGE_SIZE);
|
||||
info = tl_info;
|
||||
store_topology(info);
|
||||
cpu_management = detect_polarization(info->tle);
|
||||
pr_info("The CPU configuration topology of the machine is: %d %d %d %d %d %d / %d\n",
|
||||
info->mag[0], info->mag[1], info->mag[2], info->mag[3],
|
||||
info->mag[4], info->mag[5], info->mnest);
|
||||
|
|
Loading…
Reference in a new issue