Opened 11 years ago

Last modified 11 years ago

#579 new enhancement

GUI text editor for acpid.cfg (was: ACPI overrides MPCPUMON.EXE)

Reported by: dgbisse Owned by: David Azarewicz
Priority: minor Milestone: Release 4.00
Component: Utilities Version: 3.21.07
Keywords: Cc:

Description

While trying to debug problems in PMMail, I used MPCPUMON.EXE to turn off all but one processor. That seemed to be redundant because ACPI had already stopped 3 of the 4. However, when ACPI detected activity over the threshold, it turned on the other three processors, which made it impossible to do the debug testing. PMMail also has a switch to turn off all but one processor. That too is overridden by ACPI.

What I am getting at, is that we need a way to tell ACPI to NOT use selected CPUs (as appropriate) on a temporary basis. It can be done on a "permanent" basis with the /maccpu parameter, but that requires a reboot to turn it on/off.

Change History (4)

comment:1 Changed 11 years ago by Lars Erdmann

I wonder in what way the DosSetProcessorStatus?,DosSetThreadAffinity?,DosQueryThreadAffinity? APIs interact with ACPI.PSD or if they only control something inside the kernel's use of the available CPUs. They will have to work. I am pretty sure MPCPUMON.EXE uses DosSetProcessorStatus? to control which CPUs are active.

comment:2 Changed 11 years ago by David Azarewicz

First off, we should be more clear about what is doing what. "ACPI" is in your system's BIOS and is not doing anything with any CPUs, let alone "overriding MPCPUMON.EXE". ACPI.PSD is also not doing anything regarding starting and stopping any CPUs. It is the power manager thread in the Daemon that is starting and stopping CPUs and it is working as designed. And this particular feature doesn't even have anything to do with ACPI! The power manager starts and stops CPUs by calling DosSetProcessorStatus?(). If you don't want the power manager running, simply disable it in the acpid.cfg file.

The PSD switch /MAXCPU does something completely different than the power manager does. They are not similar at all.

As an off-topic comment, PMMail should not be worried about how many CPUs are running. If it is, that indicates an SMP design flaw in PMMail. But that is a discussion for somewhere else like the PMMail list, not here.

comment:3 in reply to:  2 Changed 11 years ago by dgbisse

Replying to dazarewicz:

First off, we should be more clear about what is doing what. "ACPI" is in your system's BIOS and is not doing anything with any CPUs, let alone "overriding MPCPUMON.EXE". ACPI.PSD is also not doing anything regarding starting and stopping any CPUs. It is the power manager thread in the Daemon that is starting and stopping CPUs and it is working as designed. And this particular feature doesn't even have anything to do with ACPI! The power manager starts and stops CPUs by calling DosSetProcessorStatus?(). If you don't want the power manager running, simply disable it in the acpid.cfg file.

Okay. I will try that next time...

The PSD switch /MAXCPU does something completely different than the power manager does. They are not similar at all.

I assumed that was the case, but it was the only obvious answer, at the time...

As an off-topic comment, PMMail should not be worried about how many CPUs are running. If it is, that indicates an SMP design flaw in PMMail. But that is a discussion for somewhere else like the PMMail list, not here.

I quoted that as an example of why the "feature" was needed. I was trying to determine if we had an SMP problem, or some other problem.

It seems that the power manager GUI needs to be re-instated, at some point in time, to make this a little easier for the average user. Perhaps even a wrapper around MPCPUMON.EXE, but that misses the other possibilities. I will raise this as a problem in the eCS Bug Tracker. Perhaps somebody there will have some ideas.

Thanks...

comment:4 Changed 11 years ago by David Azarewicz

Component: ACPI PSDUtilities
Summary: ACPI overrides MPCPUMON.EXEGUI text editor for acpid.cfg (was: ACPI overrides MPCPUMON.EXE)
Note: See TracTickets for help on using tickets.