public inbox for linux-s390@vger.kernel.org
 help / color / mirror / Atom feed
From: Nina Schoetterl-Glausch <nsg@linux.ibm.com>
To: Nico Boehr <nrb@linux.ibm.com>,
	Andrew Jones <andrew.jones@linux.dev>,
	Claudio Imbrenda <imbrenda@linux.ibm.com>,
	Colton Lewis <coltonlewis@google.com>,
	Janosch Frank <frankja@linux.ibm.com>,
	Nikos Nikoleris <nikos.nikoleris@arm.com>,
	Sean Christopherson <seanjc@google.com>,
	Shaoqin Huang <shahuang@redhat.com>,
	Thomas Huth <thuth@redhat.com>
Cc: linux-s390@vger.kernel.org, David Hildenbrand <david@redhat.com>,
	kvm@vger.kernel.org, Ricardo Koller <ricarkol@google.com>
Subject: Re: [kvm-unit-tests PATCH 00/10] s390x: topology: Fixes and extension
Date: Fri, 27 Oct 2023 18:36:12 +0200	[thread overview]
Message-ID: <0f132157ec6437326c6bd63f8be18976b19f058a.camel@linux.ibm.com> (raw)
In-Reply-To: <169823651572.67523.10556581938548735484@t14-nrb>

On Wed, 2023-10-25 at 14:21 +0200, Nico Boehr wrote:
> Quoting Nina Schoetterl-Glausch (2023-10-20 16:48:50)
> > v1 -> v2:
> >  * patch 1, introducing enums (Janosch)
> >  * add comment explaining 8 alignment of stsi block length
> >  * unsigned cpu_in_masks, iteration (Nico)
> >  * fix copy paste error when checking ordering (thanks Nina)
> >  * don't escape newline when \\ at end of line in multiline string
> >  * change commit messages (thanks Janosch, thanks Nico)
> >  * pick up tags (thanks Janosch, thanks Nico)
> > 
> > Fix a number of issues as well as rewrite and extend the topology list
> > checking.
> > Add a test case with a complex topology configuration.
> > In order to keep the unittests.cfg file readable, implement multiline
> > strings for extra_params.
> 
> Thanks, I've pushed this to our CI for coverage.

And it found some problems.
Want me to resend the series or just fixup patches?
Preview (copy pasted):
--- a/s390x/topology.c
+++ b/s390x/topology.c
@@ -294,25 +294,38 @@ static union topology_container *check_child_cpus(struct sysinfo_15_1_x *info,
 {
        void *last = ((void *)info) + info->length;
        union topology_cpu *prev_cpu = NULL;
+       bool correct_ordering = true;
        unsigned int cpus = 0;
        int i;

-       for (i = 0; (void *)&child[i] < last && child[i].nl == 0; i++) {
+       for (i = 0; (void *)&child[i] < last && child[i].nl == 0; prev_cpu = &child[i++]) {
                cpus += check_cpu(&child[i], cont);
                if (prev_cpu) {
-                       report(prev_cpu->type <= child[i].type, "Correct ordering wrt type");
+                       if (prev_cpu->type > child[i].type) {
+                               report_info("Incorrect ordering wrt type for child %d", i);
+                               correct_ordering = false;
+                       }
                        if (prev_cpu->type < child[i].type)
                                continue;
-                       report(prev_cpu->pp >= child[i].pp, "Correct ordering wrt polarization");
+                       if (prev_cpu->pp < child[i].pp) {
+                               report_info("Incorrect ordering wrt polarization for child %d", i);
+                               correct_ordering = false;
+                       }
                        if (prev_cpu->pp > child[i].pp)
                                continue;
-                       report(prev_cpu->d || !child[i].d, "Correct ordering wrt dedication");
+                       if (!prev_cpu->d && child[i].d) {
+                               report_info("Incorrect ordering wrt dedication for child %d", i);
+                               correct_ordering = false;
+                       }
                        if (prev_cpu->d && !child[i].d)
                                continue;
-                       report(prev_cpu->origin <= child[i].origin, "Correct ordering wrt origin");
+                       if (prev_cpu->origin > child[i].origin) {
+                               report_info("Incorrect ordering wrt origin for child %d", i);
+                               correct_ordering = false;
+                       }
                }
-               prev_cpu = &child[i];
        }
+       report(correct_ordering, "children correctly ordered");
        report(cpus <= expected_topo_lvl[0], "%d children <= max of %d",
               cpus, expected_topo_lvl[0]);
        *cpus_in_masks += cpus;

  reply	other threads:[~2023-10-27 16:36 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-20 14:48 [kvm-unit-tests PATCH 00/10] s390x: topology: Fixes and extension Nina Schoetterl-Glausch
2023-10-20 14:48 ` [kvm-unit-tests PATCH 01/10] s390x: topology: Introduce enums for polarization & cpu type Nina Schoetterl-Glausch
2023-10-25 11:56   ` Nico Boehr
2023-10-25 11:58   ` Janosch Frank
2023-10-20 14:48 ` [kvm-unit-tests PATCH 02/10] s390x: topology: Fix report message Nina Schoetterl-Glausch
2023-10-25 11:59   ` Janosch Frank
2023-10-20 14:48 ` [kvm-unit-tests PATCH 03/10] s390x: topology: Use function parameter in stsi_get_sysib Nina Schoetterl-Glausch
2023-10-20 14:48 ` [kvm-unit-tests PATCH 04/10] s390x: topology: Fix parsing loop Nina Schoetterl-Glausch
2023-10-25 12:00   ` Janosch Frank
2023-10-20 14:48 ` [kvm-unit-tests PATCH 05/10] s390x: topology: Make some report messages unique Nina Schoetterl-Glausch
2023-10-20 14:48 ` [kvm-unit-tests PATCH 06/10] s390x: topology: Refine stsi header test Nina Schoetterl-Glausch
2023-10-25 14:11   ` Janosch Frank
2023-10-20 14:48 ` [kvm-unit-tests PATCH 07/10] s390x: topology: Rename topology_core to topology_cpu Nina Schoetterl-Glausch
2023-10-20 14:48 ` [kvm-unit-tests PATCH 08/10] s390x: topology: Rewrite topology list test Nina Schoetterl-Glausch
2023-10-20 14:48 ` [kvm-unit-tests PATCH 09/10] scripts: Implement multiline strings for extra_params Nina Schoetterl-Glausch
2023-10-25 17:50   ` Thomas Huth
2023-10-25 17:58     ` Nina Schoetterl-Glausch
2023-10-20 14:49 ` [kvm-unit-tests PATCH 10/10] s390x: topology: Add complex topology test Nina Schoetterl-Glausch
2023-10-25 12:21 ` [kvm-unit-tests PATCH 00/10] s390x: topology: Fixes and extension Nico Boehr
2023-10-27 16:36   ` Nina Schoetterl-Glausch [this message]
2023-10-30  7:30     ` Nico Boehr

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0f132157ec6437326c6bd63f8be18976b19f058a.camel@linux.ibm.com \
    --to=nsg@linux.ibm.com \
    --cc=andrew.jones@linux.dev \
    --cc=coltonlewis@google.com \
    --cc=david@redhat.com \
    --cc=frankja@linux.ibm.com \
    --cc=imbrenda@linux.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=nikos.nikoleris@arm.com \
    --cc=nrb@linux.ibm.com \
    --cc=ricarkol@google.com \
    --cc=seanjc@google.com \
    --cc=shahuang@redhat.com \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox