OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.
Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.
R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.
IBM kupuje společnost HashiCorp (Terraform, Packer, Vault, Boundary, Consul, Nomad, Waypoint, Vagrant, …) za 6,4 miliardy dolarů, tj. 35 dolarů za akcii.
Byl vydán TrueNAS SCALE 24.04 “Dragonfish”. Přehled novinek této open source storage platformy postavené na Debianu v poznámkách k vydání.
Oznámeny byly nové Raspberry Pi Compute Module 4S. Vedle původní 1 GB varianty jsou nově k dispozici také varianty s 2 GB, 4 GB a 8 GB paměti. Compute Modules 4S mají na rozdíl od Compute Module 4 tvar a velikost Compute Module 3+ a předchozích. Lze tak provést snadný upgrade.
Po roce vývoje od vydání verze 1.24.0 byla vydána nová stabilní verze 1.26.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.26.
Byla vydána nová verze 6.2 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.14.
Byla vydána nová verze 30.0.0 frameworku pro vývoj multiplatformních desktopových aplikací pomocí JavaScriptu, HTML a CSS Electron (Wikipedie, GitHub). Chromium bylo aktualizováno na verzi 124.0.6367.49, V8 na verzi 12.4 a Node.js na verzi 20.11.1. Electron byl původně vyvíjen pro editor Atom pod názvem Atom Shell. Dnes je na Electronu postavena celá řada dalších aplikací.
Byla vydána nová verze 9.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 220 vývojářů. Provedeno bylo více než 2 700 commitů. Přehled úprav a nových vlastností v seznamu změn.
Ben Hutchings, správce balíčků kernelu v Debianu, navrhl ve vývojářském mailing listu přestat podporovat procesory starší než Pentium Pro (i686). Pokud by byl návrh přijat, změna by se dotkla už příští stabilní verze Debian 9 (Stretch).
Tiskni Sdílej:
The Intel X1000 (32bit Pentium ISA) has a bug on the LOCK prefix, that cannot be fixed with an updated microcode and cannot be worked around by trapping elsewhere (in the Linux Kernel).
Jak byste si tu opravu představoval?
24. Possible Incorrect CPU Operation with LOCK Prefix Instructions Under Specific CircumstancesOpravu (workaround) bych si představoval tak, že se zabrání situaci, kdy instrukce s prefixem LOCK může vyvolat výpadek stránky. Ostatně, je docela dobře možné, že ten člověk na Intel Quarku prostě jen nepoužívá swap, čímž nevědomky vzniku této chyby zabránil.
Problem: When a memory instruction with LOCK prefix executes and if it encounters a page fault (#PF) the state of the CPU could potentially get corrupted. Implication: Invalid CPU operation may occur for specific instruction sequences when using the LOCK prefix instruction if the instruction generates a page fault. Workaround: Software should avoid using the LOCK prefix for instructions that may cause page fault (#PF). Status: No Fix
root@GalileoSDK:/# for i in `/usr/bin/find /lib -type f -name \*pthread\*so`; do cp ${i} ${i}.bak; sed -i "s/\xf0\x0f\xb1\x8b/\x90\x0f\xb1\x8b/g" ${i}; done
Ještě, že je tam ten hack tak obsáhle popsaný a vysvětlený ;)
return 4;
Opravu (workaround) bych si představoval tak, že se zabrání situaci, kdy instrukce s prefixem LOCK může vyvolat výpadek stránky.[warning] Zas tak podrobně stránkování x86 neznám, já hlavně linked store-load [/warning] No jenže to může IMHO vždycky. LOCK se používá hlavně na mutexy a spinlocky a tam čte paměť s proměnnou, která se má atomicky modifikovat. I kdyby jsi tu proměnnou přečetl předem, tak ti nikdo nezaručí, že než se quark dostane k té instrukci s LOCKem, tak se ta stránka z TLB cache neodstraní.
Instalator jiz tuto moznost nepodporuje, je to uzavrene.Instalátor to nepodporuje, ale nainstalovaný systém jo? Jaký to má smysl?
Vždyť takové ty Alixy nejsou zas tak staré a spousta jich je ještě v provozu, ne?No, já na tom mám pfSense na několika místech, takže je mi to v zásadě jedno, ale jinak ty Alixy se dokonce furt ještě prodávaj. Taky tenhle počin nechápu...
tudíž stojí určitý výkon na ostatních CPUJá právě nevím, jaká jsou ta ostatní CPU. Přišli jsme v podstatě jenom na nejnižší Atomy, které jsou 686, a možná poslední 686 repasované thinkpady (první série x60 a starší, novější věci už jsou amd64).
A proto je u něj důležité, aby i 32bitová verze byla optimalizovaná a ne svázaná kompatibilitouNaopak, kromě Atomů a těch starých notebooků 686 nikdo nepoužívá, takže bych radši to svázání kompatibilitou. (dělal vůbec někdo benchmark, o kolik to bude lepší?)
Naopak, kromě Atomů a těch starých notebooků 686 nikdo nepoužívá, takže bych radši to svázání kompatibilitou.To dává smysl.
No jo, ale podle mě zrovna tyhlety "kromě" zkriplené Atomy a Pentia M/Core1 budou v mnohem víc užívaných systémech, než ty stará 486/586 a od nich odvozená embedded CPU. A zároveň víc potřebujou aktuální systém, kdežto pro to embedded by se asi spíš dala použít i jen ta stará, ale nějak udržovaná větev?A proto je u něj důležité, aby i 32bitová verze byla optimalizovaná a ne svázaná kompatibilitouNaopak, kromě Atomů a těch starých notebooků 686 nikdo nepoužívá, takže bych radši to svázání kompatibilitou.
/tmp/openssl/openssl-1.0.2e/apps> ./openssl version -a; ./openssl speed rsa4096; ./openssl speed aes-256-cbc; ./openssl speed rc4; ./openssl speed md5 WARNING: can't open config file: /usr/local/ssl/openssl.cnf OpenSSL 1.0.2e 3 Dec 2015 built on: reproducible build, date unspecified platform: linux-elf options: bn(64,32) rc4(8x,mmx) des(ptr,risc1,16,long) idea(int) blowfish(idx) compiler: gcc -I. -I.. -I../include -m32 -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wa,--noexecstack -Wall -march=i686 OPENSSLDIR: "/usr/local/ssl" WARNING: can't open config file: /usr/local/ssl/openssl.cnf Doing 4096 bit private rsa's for 10s: 132 4096 bit private RSA's in 10.00s Doing 4096 bit public rsa's for 10s: 9331 4096 bit public RSA's in 10.00s OpenSSL 1.0.2e 3 Dec 2015 built on: reproducible build, date unspecified options:bn(64,32) rc4(8x,mmx) des(ptr,risc1,16,long) aes(partial) idea(int) blowfish(idx) compiler: gcc -I. -I.. -I../include -m32 -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wa,--noexecstack -Wall -march=i686 sign verify sign/s verify/s rsa 4096 bits 0.075758s 0.001072s 13.2 933.1 WARNING: can't open config file: /usr/local/ssl/openssl.cnf Doing aes-256 cbc for 3s on 16 size blocks: 9914621 aes-256 cbc's in 3.00s Doing aes-256 cbc for 3s on 64 size blocks: 2677754 aes-256 cbc's in 3.00s Doing aes-256 cbc for 3s on 256 size blocks: 700430 aes-256 cbc's in 3.00s Doing aes-256 cbc for 3s on 1024 size blocks: 175610 aes-256 cbc's in 3.00s Doing aes-256 cbc for 3s on 8192 size blocks: 22179 aes-256 cbc's in 3.00s OpenSSL 1.0.2e 3 Dec 2015 built on: reproducible build, date unspecified options:bn(64,32) rc4(8x,mmx) des(ptr,risc1,16,long) aes(partial) idea(int) blowfish(idx) compiler: gcc -I. -I.. -I../include -m32 -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wa,--noexecstack -Wall -march=i686 The 'numbers' are in 1000s of bytes per second processed. type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes aes-256 cbc 52877.98k 57125.42k 59770.03k 59941.55k 60563.46k WARNING: can't open config file: /usr/local/ssl/openssl.cnf Doing rc4 for 3s on 16 size blocks: 59380215 rc4's in 3.00s Doing rc4 for 3s on 64 size blocks: 19243318 rc4's in 3.00s Doing rc4 for 3s on 256 size blocks: 5133509 rc4's in 3.00s Doing rc4 for 3s on 1024 size blocks: 1310504 rc4's in 3.00s Doing rc4 for 3s on 8192 size blocks: 168002 rc4's in 3.00s OpenSSL 1.0.2e 3 Dec 2015 built on: reproducible build, date unspecified options:bn(64,32) rc4(8x,mmx) des(ptr,risc1,16,long) aes(partial) idea(int) blowfish(idx) compiler: gcc -I. -I.. -I../include -m32 -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wa,--noexecstack -Wall -march=i686 The 'numbers' are in 1000s of bytes per second processed. type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes rc4 316694.48k 410524.12k 438059.43k 447318.70k 458757.46k WARNING: can't open config file: /usr/local/ssl/openssl.cnf Doing md5 for 3s on 16 size blocks: 3390448 md5's in 3.00s Doing md5 for 3s on 64 size blocks: 2996314 md5's in 3.00s Doing md5 for 3s on 256 size blocks: 2036666 md5's in 3.00s Doing md5 for 3s on 1024 size blocks: 892860 md5's in 3.00s Doing md5 for 3s on 8192 size blocks: 142915 md5's in 3.00s OpenSSL 1.0.2e 3 Dec 2015 built on: reproducible build, date unspecified options:bn(64,32) rc4(8x,mmx) des(ptr,risc1,16,long) aes(partial) idea(int) blowfish(idx) compiler: gcc -I. -I.. -I../include -m32 -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wa,--noexecstack -Wall -march=i686 The 'numbers' are in 1000s of bytes per second processed. type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes md5 18082.39k 63921.37k 173795.50k 304762.88k 390253.23k586
/tmp/openssl/586/apps> ./openssl version -a; ./openssl speed rsa4096; ./openssl speed aes-256-cbc; ./openssl speed rc4; ./openssl speed md5 WARNING: can't open config file: /usr/local/ssl/openssl.cnf OpenSSL 1.0.2e 3 Dec 2015 built on: reproducible build, date unspecified platform: linux-elf options: bn(64,32) rc4(8x,mmx) des(ptr,risc1,16,long) idea(int) blowfish(idx) compiler: gcc -I. -I.. -I../include -m32 -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wa,--noexecstack -Wall -march=i586 OPENSSLDIR: "/usr/local/ssl" WARNING: can't open config file: /usr/local/ssl/openssl.cnf Doing 4096 bit private rsa's for 10s: 132 4096 bit private RSA's in 10.06s Doing 4096 bit public rsa's for 10s: 9298 4096 bit public RSA's in 10.00s OpenSSL 1.0.2e 3 Dec 2015 built on: reproducible build, date unspecified options:bn(64,32) rc4(8x,mmx) des(ptr,risc1,16,long) aes(partial) idea(int) blowfish(idx) compiler: gcc -I. -I.. -I../include -m32 -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wa,--noexecstack -Wall -march=i586 sign verify sign/s verify/s rsa 4096 bits 0.076212s 0.001076s 13.1 929.8 WARNING: can't open config file: /usr/local/ssl/openssl.cnf Doing aes-256 cbc for 3s on 16 size blocks: 10005143 aes-256 cbc's in 2.98s Doing aes-256 cbc for 3s on 64 size blocks: 2745284 aes-256 cbc's in 3.00s Doing aes-256 cbc for 3s on 256 size blocks: 703450 aes-256 cbc's in 3.00s Doing aes-256 cbc for 3s on 1024 size blocks: 177295 aes-256 cbc's in 3.00s Doing aes-256 cbc for 3s on 8192 size blocks: 22190 aes-256 cbc's in 3.00s OpenSSL 1.0.2e 3 Dec 2015 built on: reproducible build, date unspecified options:bn(64,32) rc4(8x,mmx) des(ptr,risc1,16,long) aes(partial) idea(int) blowfish(idx) compiler: gcc -I. -I.. -I../include -m32 -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wa,--noexecstack -Wall -march=i586 The 'numbers' are in 1000s of bytes per second processed. type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes aes-256 cbc 53718.89k 58566.06k 60027.73k 60516.69k 60593.49k WARNING: can't open config file: /usr/local/ssl/openssl.cnf Doing rc4 for 3s on 16 size blocks: 55944570 rc4's in 3.00s Doing rc4 for 3s on 64 size blocks: 18707376 rc4's in 3.00s Doing rc4 for 3s on 256 size blocks: 5142356 rc4's in 2.98s Doing rc4 for 3s on 1024 size blocks: 1327813 rc4's in 2.98s Doing rc4 for 3s on 8192 size blocks: 166567 rc4's in 3.00s OpenSSL 1.0.2e 3 Dec 2015 built on: reproducible build, date unspecified options:bn(64,32) rc4(8x,mmx) des(ptr,risc1,16,long) aes(partial) idea(int) blowfish(idx) compiler: gcc -I. -I.. -I../include -m32 -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wa,--noexecstack -Wall -march=i586 The 'numbers' are in 1000s of bytes per second processed. type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes rc4 298371.04k 399090.69k 441759.44k 456268.63k 454838.95k WARNING: can't open config file: /usr/local/ssl/openssl.cnf Doing md5 for 3s on 16 size blocks: 3422938 md5's in 2.98s Doing md5 for 3s on 64 size blocks: 2886242 md5's in 3.00s Doing md5 for 3s on 256 size blocks: 1966441 md5's in 3.00s Doing md5 for 3s on 1024 size blocks: 864967 md5's in 3.00s Doing md5 for 3s on 8192 size blocks: 137870 md5's in 3.00s OpenSSL 1.0.2e 3 Dec 2015 built on: reproducible build, date unspecified options:bn(64,32) rc4(8x,mmx) des(ptr,risc1,16,long) aes(partial) idea(int) blowfish(idx) compiler: gcc -I. -I.. -I../include -m32 -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -O3 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wa,--noexecstack -Wall -march=i586 The 'numbers' are in 1000s of bytes per second processed. type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes md5 18378.19k 61573.16k 167802.97k 295242.07k 376477.01kTL;DR na openssl to nemá vůbec vliv.
OpenSSL je jenom jedna věc a ani nevíš, jestli má ty limity výkonu na relevantních místech.Asi bych čekal problémy u něčeho masivně threadového (Firefox?), když se bavíme o CMOV.
Jinak by taky bylo nutné zkontrolovat, jeslti ten software třeba nemá runtime cpu detectionMá, snažil jsem se ho povypínat.
Citace z toho odkazovaného mailu:
The older processors would of course continue to be supported in jessie until at least 2018, and until 2020 if i386 is included in jessie LTS.
cimz pochopitelne prijdu o tu krasnou moznost vzit disk a vrazit ho do jinyho HWDá se i trochu balancovat, držel jsem takhle Gentoo kompilované pro všechny thinkpady, co jsem doma měl s optimalizací na nejnovější z nich. Ale bylo to jen pro legraci, rozdíl ve výkonu jsem ani neměřil, ani nijak nevyužíval.
Někdo chce aby komunitní Linux skončil, proto „windowsovatění” typu systemd etc. a podkopávání opensource na všech frontách.Zrovna procesory 586 nejsou úplně cílovým hardware pro současná Windows