Board.KolibriOS.org
http://board.kolibrios.org/

[feature request] HLT (soft) CPU cooling/powersaving...
http://board.kolibrios.org/viewtopic.php?f=32&t=1249
Page 1 of 2

Author:  forart.eu [ Mon Mar 23, 2009 1:46 pm ]
Post subject:  [feature request] HLT (soft) CPU cooling/powersaving...

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 !

Author:  Ghost [ Mon Mar 23, 2009 5:37 pm ]
Post subject:  Re: [feature request] HLT (soft) CPU cooling/powersaving...

AMD Bus Disconnect
Kernel HLT implementation

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

Author:  forart.eu [ Tue Mar 24, 2009 7:20 pm ]
Post subject:  Re: [feature request] HLT (soft) CPU cooling/powersaving...

Ghost wrote:


Ehm... COOL ! :oops:

Author:  Galkov [ Thu Mar 26, 2009 7:55 pm ]
Post subject:  Re: [feature request] HLT (soft) CPU cooling/powersaving...

Хм... :|
А что уважаемые коллеги скажут на эдакий рефракторинг :?:
Code:
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+хвосты в других файлах
Добью - включу и ЭТО, если у коллег не будет возражений

Author:  Freeman [ Sat Apr 04, 2009 11:02 pm ]
Post subject:  Re: [feature request] HLT (soft) CPU cooling/powersaving...

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.

Author:  diamond [ Fri May 01, 2009 4:15 pm ]
Post subject:  Re: [feature request] HLT (soft) CPU cooling/powersaving...

Galkov wrote:
А что уважаемые коллеги скажут на эдакий рефракторинг

Что это неравноценная замена: раньше если ядро было чем-то сильно занято и только иногда отдавало управление в checkidle, то checkidle просто передавала управление дальше по списку, не вызывая hlt, а сейчас checkidle всегда ждёт прерывания таймера и возвращает управление не раньше, чем оно придёт.

Author:  Galkov [ Fri May 01, 2009 9:00 pm ]
Post subject:  Re: [feature request] HLT (soft) CPU cooling/powersaving...

diamond wrote:
а сейчас checkidle всегда ждёт прерывания таймера и возвращает

А мне кажется что и сейчас не всегда, а только когда: а) семафор в нетронутом состоянии б) карусель прокрутилась быстро.
Подробнее надо, кто-то где-то ошибается

Author:  diamond [ Fri May 01, 2009 9:08 pm ]
Post subject:  Re: [feature request] HLT (soft) CPU cooling/powersaving...

Поправка принимается, я имел в виду, что на ситуацию по умолчанию, когда семафор постоянно обнулён и нет процессов, отжирающих ресурсы, накладывается сильная занятость ядра, а остальные процессы по-прежнему быстро отдают управление (либо вообще не забирают), не напрягая семафор.

Author:  Galkov [ Fri May 01, 2009 9:25 pm ]
Post subject:  Re: [feature request] HLT (soft) CPU cooling/powersaving...

Хм...
Правильно ли понял: osloop крутится например 100 мс (при этом int0 прокручивал карусель за неизмеримо малое время), доходит до checkidle, а тот - оппа, и делает halt :?:
Если так, то упустил. Подумаю... сейчас прямо.

Author:  Galkov [ Fri May 01, 2009 10:10 pm ]
Post subject:  Re: [feature request] HLT (soft) CPU cooling/powersaving...

Подумал.
Если вопрос именно в этом :idea:, то придется вернуть idlemem, как это не прискорбно
Примерно так:
Code:
checkidle:
        pushad
        mov  ebx,[idlemem]               ; было [timer_ticks]
        ............................
      idle_exit:
        Mov  [idlemem],eax,[timer_ticks] ; добавлено
        popad
        ret

diamond, если ИМЕННО ЭТО Вас беспокоит (в смысле, я правильно понял) - минута на фиксинг, и всего делов.

Author:  diamond [ Sat May 02, 2009 11:33 am ]
Post subject:  Re: [feature request] HLT (soft) CPU cooling/powersaving...

Да, именно это.

Author:  Galkov [ Sat May 02, 2009 12:59 pm ]
Post subject:  Re: [feature request] HLT (soft) CPU cooling/powersaving...

Ну тогда осталось только повторить вопрос "А что теперь уважаемые коллеги скажут на эдакий рефракторинг" :)

Author:  Ghost [ Sat May 02, 2009 2:56 pm ]
Post subject:  Re: [feature request] HLT (soft) CPU cooling/powersaving...

мне вот не понятно зачем в sys_sendwindowmsg стоит cli ??? мы от них избавится не можем, а тут новые....
и зачем крос регистры в неё вернул?

Author:  Galkov [ Sat May 02, 2009 3:32 pm ]
Post subject:  Re: [feature request] HLT (soft) CPU cooling/powersaving...

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

Author:  Ghost [ Sat May 02, 2009 3:39 pm ]
Post subject:  Re: [feature request] HLT (soft) CPU cooling/powersaving...

мдя, чет не внимательный я сегодня, cli ещё с 665ой, а про регистры - не то посмотрел, извиняюсь.

Page 1 of 2 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/