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