Paul Mackerras wrote:
Robert Jennings writes:

Split the retrieval of processor entitlement data returned in the H_GET_PPP
hcall into its own helper routine.

This seems to change the value reported for pool_capacity radically:

                /* report pool_capacity in percentage */
-               seq_printf(m, "pool_capacity=%ld\n",
-                          ((h_resource >> 2 * 8) & 0xffff) * 100);
+               seq_printf(m, "pool_capacity=%d\n", ppp_data.group_num * 100);

On a Power6 partition here with your patch series applied, I see

pool_capacity=3277200

in /proc/ppc64/lparcfg.  Without your patches, I get

pool_capacity=400
pool_idle_time=0
pool_num_procs=0

This looks like an incompatible user-visible change to me, and we
haven't even changed the lparcfg version number at the beginning of
the /proc/ppc64/lparcfg output.  Why is the pool_capacity so
different, and why do the pool_idle_time and pool_num_procs lines
disappear?


ok, three problems, three new patches.

The reporting of pool_capacity was a bug in using the wrong information
reported by h_get_ppp in the patch.  This is in a new patch 4/16.

The failure to report the pool_idle_time and pool_num_procs was due to
an update to h_pic where we started checking the return code of the
h_call for H_PIC.  The values were not reported if the h_call fails,
which on my partition it fails with -10 (H_Authority).  I have reverted
this back to the previous behavior and report the values of pool_idle_time
and pool_num_procs regardless of the h_call return code.  This is
in a new patch 2/16.

Yes, the lparcfg version number should have been updated.  I missed that.
Fixed in a new patch 3/16.

-Nathan
Regards,
Paul.
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to