Asterinas (GitHub) je v Rustu napsané jádro operačního systému poskytující s jádrem Linux kompatibilní ABI. Vydána byla verze 0.18.0. První distribucí postavenou nad jádrem Asterinas je Asterinas NixOS. Nejedná se o oficiální projekt NixOS a nemá nic společného s NixOS Foundation.
Podrobně byla rozebrána kritická zranitelnost v nf_tables (CVE-2026-23111). Další lokální eskalace práv na Linuxu. V upstreamu byla zranitelnost již v únoru opravena. Ve zdrojovém kódu stačilo odstranit 1 vykřičník.
Evropská komise (EK) nařídila americké společnosti Meta, že musí znovu umožnit bezplatný přístup konkurenčním obecně zaměřeným asistentům umělé inteligence (AI) k WhatsAppu a tento přístup musí zachovat až do ukončení antimonopolního šetření. Opatření je dočasné a má zabránit vážnému a nevratnému poškození konkurence na rychle rostoucím trhu s obecnými AI asistenty. Meta uvedla, že se proti rozhodnutí odvolá.
Společnost Anthropic představila AI modely Claude Fable 5 a Claude Mythos 5. Claude Fable 5 je první model třídy Mythos určený pro běžné použití.
Byla vydána nová stabilní verze 3.24.0, tj. první z nové řady 3.24, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Přehled novinek v poznámkách k vydání.
Na čem pracují vývojáři v Rustu napsaného mikrokernelového unixového operačního systému Redox OS (Wikipedie)? Byl publikován přehled vývoje za květen. Vypíchnout lze nový scheduler EEVDF nebo port desktopového prostředí Xfce na Redox OS.
Upozornění pro uživatele Asahi Linuxu: Neaktualizujte macOS na verzi 27 Golden Gate! Apple změnil detekci spouštěcích oddílů. Po aktualizaci oddíl s Asahi Linuxem nevidí. Snad je to jenom chyba.
Na webu konference Den IPv6, která se konala 4. června v Národní technické knihovně v pražských Dejvicích, jsou nyní k dispozici všechny prezentace (v PDF) a jejich videozáznamy. Organizátory konference byly i letos sdružení CESNET, CZ.NIC a NIX.CZ.
Byla vydána nová verze 9.1.0 správce sbírky fotografií digiKam (Wikipedie). Přehled novinek i s náhledy v oficiálním oznámení (NEWS). Vypíchnout lze vylepšené vyhledávání nebo podporu Pixel Motion Photos. Nejnovější digiKam je ke stažení také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.
Přihlaste svou přednášku na další ročník konference LinuxDays, který proběhne 3. a 4. října na FIT ČVUT v pražských Dejvicích. Příjem témat poběží do konce prázdnin, pak proběhne veřejné hlasování a následně sestavení programu.
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governora jestliže nastavím, aby se frekvence zvýšila už při 20% zátěži
echo 20 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_thresholda jestliže nechám samplovat zátěž co nejčastěji
echo $(cat /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate_min) > \ /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_ratetak to stejně není dostatečné, protože nejnižší hodnota pro samplovací periodu je 620000 mikrosekund, tedy něco přes půl sekundy. A to už je bohužel poznat. Mohu názorně demonstrovat:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import time
fncur = '/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq'
fnmin = '/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq'
fnmax = '/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq'
class CPUgov:
def __init__(self):
self.minfreq = self.readintfromfile(fnmin)
self.maxfreq = self.readintfromfile(fnmax)
def readintfromfile(self, fn):
return int(file(fn).read())
def getfreq(self):
return self.readintfromfile(fncur)
def waitforfall(self):
stamp = time.time()
while self.getfreq() != self.minfreq:
time.sleep(0.01)
return time.time() - stamp
def waitforrise(self):
stamp = time.time()
while self.getfreq() != self.maxfreq:
pass
return time.time() - stamp
cpu = CPUgov()
while True:
print 'rise:', cpu.waitforrise()
print 'fall:', cpu.waitforfall()
Frekvence se skutečně zvýší až po cca 0.6 sekundách, což je pro interaktivní práci (např. přepínání mezi okny, renderování html) příliš dlouho. Takže se chci zeptat, jak snížit hodnotu v echo "požadovaná hodnota" > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate_minPřičemž ona požadovaná hodnota bude ze .../scaling_available_frequencies.
static unsigned int def_sampling_rate;
#define MIN_SAMPLING_RATE_RATIO (2)
/* for correct statistics, we need at least 10 ticks between each measure */
#define MIN_STAT_SAMPLING_RATE \
(MIN_SAMPLING_RATE_RATIO * jiffies_to_usecs(10))
#define MIN_SAMPLING_RATE \
(def_sampling_rate / MIN_SAMPLING_RATE_RATIO)
#define MAX_SAMPLING_RATE (500 * def_sampling_rate)
#define DEF_SAMPLING_RATE_LATENCY_MULTIPLIER (1000)
#define TRANSITION_LATENCY_LIMIT (10 * 1000)
Zkusím si s tím trochu pohrát. Mám (na druhém počítači) vyzkoušeno, že když ondemand zareaguje za 0.1 sekundy, tak je to už úplně v pohodě a nepoznám žádnou prodlevu.
#!/usr/bin/python
# -*- coding:utf-8 -*-
import time
fncur = '/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq'
fnmin = '/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq'
fnmax = '/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq'
class CPUgov:
def __init__(self):
self.minfreq = self.readintfromfile(fnmin)
self.maxfreq = self.readintfromfile(fnmax)
self.samples_high = 0
self.samples_low = 0
def readintfromfile(self, fn):
return int(file(fn).read())
def getfreq(self):
return self.readintfromfile(fncur)
def measure(self):
freq = self.getfreq()
if freq == self.minfreq:
self.samples_low += 1
else:
self.samples_high += 1
cpu = CPUgov()
while True:
cpu.measure()
N100 = (cpu.samples_high + cpu.samples_low) * 0.01
print 'high: %5.2f%% low:%5.2f%%' %(cpu.samples_high / N100,
cpu.samples_low / N100)
time.sleep(1)
Zkuste tohle nechat běžet hodinu, dvě, tři ... den, dva, tři ...
Tiskni
Sdílej: