Page 1 of 2

[feature request] HLT (soft) CPU cooling/powersaving...

Posted: Mon Mar 23, 2009 1:46 pm
by forart.eu
It would be great to have this kind of option (that many OSes has):
patchworks wrote:Windows
> Software cooling an Athlon XP/1600 (on a Gigabyte 7VTXE+) (article with some sources)
> OpenPower - *will be* a CPU cooling software for Win 9x
> cpICE 1.12 - HLT based CPU cooling VxD (freeware with asm sources)
> CoolON Project - Software Cooling Function Enabler for 32bit Athlon Series on Win32

Linux
> FVcool - This is a VCool for FreeBSD (with BSD sources, of course)
> athcool - a small utility, enabling/disabling Powersaving mode for AMD Athlon/Duron processors. (seems the most updated)
> PowerNowd - a very simple program that will adjust the speed of your CPU depending on system load. (bit different approach...)
Hope that helps or at least inspires !

Re: [feature request] HLT (soft) CPU cooling/powersaving...

Posted: Mon Mar 23, 2009 5:37 pm
by Ghost
AMD Bus Disconnect
Kernel HLT implementation

AMD PowerNOW!/ Intel SpeedStep / Transmeta LoongRun / VIA LongHaul currently not support, but if you want... do it yourself )

Re: [feature request] HLT (soft) CPU cooling/powersaving...

Posted: Tue Mar 24, 2009 7:20 pm
by forart.eu

Re: [feature request] HLT (soft) CPU cooling/powersaving...

Posted: Thu Mar 26, 2009 7:55 pm
by Galkov
Хм... :|
А что уважаемые коллеги скажут на эдакий рефракторинг :?:

Code: Select all

checkidle:
        pushad
        mov  ebx,[timer_ticks]
        call change_task
        jmp  idle_loop_entry
      idle_loop:
        cmp  ebx,[timer_ticks]
        jne  idle_exit
        rdtsc ;call _rdtsc
        mov  ecx,eax
        hlt
        rdtsc ;call _rdtsc
        sub  eax,ecx
        add  [idleuse],eax
      idle_loop_entry:
        cmp  [check_idle_semaphore],0
        je   idle_loop
        dec  [check_idle_semaphore]
      idle_exit:
        popad
        ret
Не совсем, конечно, 100%-ное воспроизводство функциональности...
Но не может же быть задача checkidle быть настолько сложной :!:
Наворочено ведь - мама не горюй :shock:

В смысле, права-то на SVN у меня есть, только я сейчас толком ничего проверить не могу - бодаюсь (шибко) пока со своим предыдущим рефракторингом (приблизительно: -1Кб) event+shed+хвосты в других файлах
Добью - включу и ЭТО, если у коллег не будет возражений

Re: [feature request] HLT (soft) CPU cooling/powersaving...

Posted: Sat Apr 04, 2009 11:02 pm
by Freeman
Be careful! Bus disconnect killed my motherboard, just the Gigabyte 7VTXE+ with Athlon XP 1700+ (Palomino), no overclocking. After some months of use of S2k program under Windows, the power supply and the motherboard capacitors become damaged. I'd got the same result with Abit motherboard on VIA chipset in some other place.

More time later I've read somethere, that bus disconnect is disabled by default on many old motherboards for Athlon XP, because they have no proof against current abrupts, appeared as result of bus disconnect. nForce2-based motherboards already use bus disconnect with multiply 2 or 4, enabled in BIOS by default.

Re: [feature request] HLT (soft) CPU cooling/powersaving...

Posted: Fri May 01, 2009 4:15 pm
by diamond
Galkov wrote:А что уважаемые коллеги скажут на эдакий рефракторинг
Что это неравноценная замена: раньше если ядро было чем-то сильно занято и только иногда отдавало управление в checkidle, то checkidle просто передавала управление дальше по списку, не вызывая hlt, а сейчас checkidle всегда ждёт прерывания таймера и возвращает управление не раньше, чем оно придёт.

Re: [feature request] HLT (soft) CPU cooling/powersaving...

Posted: Fri May 01, 2009 9:00 pm
by Galkov
diamond wrote:а сейчас checkidle всегда ждёт прерывания таймера и возвращает
А мне кажется что и сейчас не всегда, а только когда: а) семафор в нетронутом состоянии б) карусель прокрутилась быстро.
Подробнее надо, кто-то где-то ошибается

Re: [feature request] HLT (soft) CPU cooling/powersaving...

Posted: Fri May 01, 2009 9:08 pm
by diamond
Поправка принимается, я имел в виду, что на ситуацию по умолчанию, когда семафор постоянно обнулён и нет процессов, отжирающих ресурсы, накладывается сильная занятость ядра, а остальные процессы по-прежнему быстро отдают управление (либо вообще не забирают), не напрягая семафор.

Re: [feature request] HLT (soft) CPU cooling/powersaving...

Posted: Fri May 01, 2009 9:25 pm
by Galkov
Хм...
Правильно ли понял: osloop крутится например 100 мс (при этом int0 прокручивал карусель за неизмеримо малое время), доходит до checkidle, а тот - оппа, и делает halt :?:
Если так, то упустил. Подумаю... сейчас прямо.

Re: [feature request] HLT (soft) CPU cooling/powersaving...

Posted: Fri May 01, 2009 10:10 pm
by Galkov
Подумал.
Если вопрос именно в этом :idea:, то придется вернуть idlemem, как это не прискорбно
Примерно так:

Code: Select all

checkidle:
        pushad
        mov  ebx,[idlemem]               ; было [timer_ticks]
        ............................
      idle_exit:
        Mov  [idlemem],eax,[timer_ticks] ; добавлено
        popad
        ret
diamond, если ИМЕННО ЭТО Вас беспокоит (в смысле, я правильно понял) - минута на фиксинг, и всего делов.

Re: [feature request] HLT (soft) CPU cooling/powersaving...

Posted: Sat May 02, 2009 11:33 am
by diamond
Да, именно это.

Re: [feature request] HLT (soft) CPU cooling/powersaving...

Posted: Sat May 02, 2009 12:59 pm
by Galkov
Ну тогда осталось только повторить вопрос "А что теперь уважаемые коллеги скажут на эдакий рефракторинг" :)

Re: [feature request] HLT (soft) CPU cooling/powersaving...

Posted: Sat May 02, 2009 2:56 pm
by Ghost
мне вот не понятно зачем в sys_sendwindowmsg стоит cli ??? мы от них избавится не можем, а тут новые....
и зачем крос регистры в неё вернул?

Re: [feature request] HLT (soft) CPU cooling/powersaving...

Posted: Sat May 02, 2009 3:32 pm
by Galkov
1) Ставил не я.
2) Но, мне показалось, что доступы к счетчикам и содержимому буфера обязаны проходить в режиме interlocking.
3) Второе более приоритетно, чем стремление убрать CLI. Альтернатива - мьютексы... Думается, в данном конкретном случае, чисто временные затраты на него превзойдут время закрытия с помощью CLI.
4) Вот те раз. Мне казалось что они БЫЛИ, а я их как раз убрал.

Re: [feature request] HLT (soft) CPU cooling/powersaving...

Posted: Sat May 02, 2009 3:39 pm
by Ghost
мдя, чет не внимательный я сегодня, cli ещё с 665ой, а про регистры - не то посмотрел, извиняюсь.