I just want to update the current working status of the c-state part of PAD.

I think before put back into ON, we have to finish the following things:

1) cmt_balance() should be aware of the requirement of the current system,
not messed power and perf up. That is, if perf is prefered, power related pg
should be ignored.

2) [bug #4581] power idle group should be ahead of power active group for cmt 
coalesce policy
> I failed to understand why it is marked as a duplicate of bug 4616

3) [bug #4616] cmt_balance schedules thread on any idle CPU instead of shallow 
idle CPUs

4) [bug #5444] the system should not enter deep cstate at all when under heavy 
load.

5) Per current implementation
=====================================================
        pg = GROUP_ACCESS(cmt_pgs, level);

            siblings = pg->cmt_siblings;
            nsiblings = GROUP_SIZE(siblings);       /* self inclusive */
            if (nsiblings == 1)
                    continue;       /* nobody to balance against */
=====================================================
cmt balance will ignore a pg if its siblings size = 1. I found on pad head, 
power idle pg's sibling
size = 1, that means power idle pg will be ignored forever. \
This problem is simiar as "[Bug 4015] Integer Pipeline processor group is 
broken", which is
closed and move the issue to 4616.

Is there anything I missed?

Thanks,
-Aubrey

Reply via email to