Глеб Смирнов: Что нового в freebsd 10.0
DESCRIPTION
Только что вышедшая FreeBSD 10 содержит в себе много нововведений, таких как смена компилятора и системы пакетирования приложений, расширенная поддержка виртуализации, а также множество радикальных изменений в уже существующих подсистемах. В докладе Глеб коснётся наиболее важных новостей и расскажет, чего следует ожидать тем, кто поспешит перейти на новую стабильную версию.TRANSCRIPT
![Page 1: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/1.jpg)
What’s new in FreeBSD 10?
Gleb [email protected]
ruBSD 2013YandexMoscow
December 14, 2013
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 1 / 27
![Page 2: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/2.jpg)
Introduction
Two years of development
head
stable/10stable/9
23 September 2011 10 October 2013
10.0-RC1 available now10.0-RELEASE planned for 2 January 2014
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 2 / 27
![Page 3: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/3.jpg)
Introduction
Two years of development
head
stable/10stable/9
23 September 2011 10 October 2013
10.0-RC1 available now10.0-RELEASE planned for 2 January 2014
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 2 / 27
![Page 4: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/4.jpg)
Introduction
Outline
1 Userland changesPackaging systemToolchainDevelopers toolsDNS toolsOther userland updates
2 Kernel: virtualizationbhyveguest improvements
3 Kernel: ARM port
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 3 / 27
![Page 5: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/5.jpg)
Introduction
Outline
4 Kernel: securitycapsicum(4) update/dev/random improvements
5 Kernel: general improvementscallout(9) new generationunmapped I/Omemory managementatomic close-on-exec
6 Kernel: I/O and storageimprovementsGEOM3rd party filesystems
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 3 / 27
![Page 6: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/6.jpg)
Introduction
Outline
7 Kernel: networkingchangescarppacket filters
8 Conslusionlooking forward to FreeBSD 11
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 3 / 27
![Page 7: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/7.jpg)
Userland changes Packaging system
New generation packaging system
pkg(1)
Replaces pkg_tools in FreeBSD 10.0Updates packages from remote repositoryIs developed as a library + command line frontend
Don’t miss section at 11:40 by Vsevolod Stakhov!
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 4 / 27
![Page 8: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/8.jpg)
Userland changes Packaging system
New generation packaging system
pkg(1)
Replaces pkg_tools in FreeBSD 10.0Updates packages from remote repositoryIs developed as a library + command line frontend
Don’t miss section at 11:40 by Vsevolod Stakhov!
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 4 / 27
![Page 9: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/9.jpg)
Userland changes Toolchain
Compiler change
LLVM/Clang 3.3 is default compiler(amd64, arm and i386)
Why?BSD licensed (gcc > 4.2.1 is GPLv3)
Fully C++11 compliant. Includes LLVM libc++.Always cross compiler.
We still support gcc 4.2+ to build tier 2 arches.
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 5 / 27
![Page 10: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/10.jpg)
Userland changes Toolchain
Compiler change
LLVM/Clang 3.3 is default compiler(amd64, arm and i386)
Why?BSD licensed (gcc > 4.2.1 is GPLv3)
Fully C++11 compliant. Includes LLVM libc++.Always cross compiler.
We still support gcc 4.2+ to build tier 2 arches.
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 5 / 27
![Page 11: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/11.jpg)
Userland changes Toolchain
Compiler change
LLVM/Clang 3.3 is default compiler(amd64, arm and i386)
Why?BSD licensed (gcc > 4.2.1 is GPLv3)
Fully C++11 compliant. Includes LLVM libc++.Always cross compiler.
We still support gcc 4.2+ to build tier 2 arches.
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 5 / 27
![Page 12: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/12.jpg)
Userland changes Toolchain
Toolchain
Moving towards external toolchain.
Portable make(1) imported from NetBSDTools updated:
patch(1): GNU BSD licensed fork of original Larry Wallsort(1): GNU own implementationbyacc for yacc(1)flex for lex(1)
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 6 / 27
![Page 13: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/13.jpg)
Userland changes Toolchain
Toolchain
Moving towards external toolchain.Portable make(1) imported from NetBSD
Tools updated:patch(1): GNU BSD licensed fork of original Larry Wallsort(1): GNU own implementationbyacc for yacc(1)flex for lex(1)
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 6 / 27
![Page 14: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/14.jpg)
Userland changes Toolchain
Toolchain
Moving towards external toolchain.Portable make(1) imported from NetBSDTools updated:
patch(1): GNU BSD licensed fork of original Larry Wallsort(1): GNU own implementationbyacc for yacc(1)flex for lex(1)
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 6 / 27
![Page 15: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/15.jpg)
Userland changes Developers tools
Developers tools
CVS -> subversion (lite)ATF/kyua from NetBSDWork in progress: gdb -> lldb
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 7 / 27
![Page 16: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/16.jpg)
Userland changes DNS tools
DNS tools
Recursive resolver & toolsBIND -> unbounddig(1) -> drill(1)new host(1) implementationnslookup
LDNS libraryFeature rich API, providing control over recursion,DNSSEC, TSIG, etc.Utilized by OpenSSH, drill(1)
Plan for FreeBSD 11: caching, validating, secureresolver library with standard API
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 8 / 27
![Page 17: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/17.jpg)
Userland changes DNS tools
DNS tools
Recursive resolver & toolsBIND -> unbounddig(1) -> drill(1)new host(1) implementationnslookup
LDNS libraryFeature rich API, providing control over recursion,DNSSEC, TSIG, etc.Utilized by OpenSSH, drill(1)
Plan for FreeBSD 11: caching, validating, secureresolver library with standard API
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 8 / 27
![Page 18: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/18.jpg)
Userland changes DNS tools
DNS tools
Recursive resolver & toolsBIND -> unbounddig(1) -> drill(1)new host(1) implementationnslookup
LDNS libraryFeature rich API, providing control over recursion,DNSSEC, TSIG, etc.Utilized by OpenSSH, drill(1)
Plan for FreeBSD 11: caching, validating, secureresolver library with standard API
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 8 / 27
![Page 19: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/19.jpg)
Userland changes Other userland updates
Other userland updates
freebsd-version(1) tool introducedlibyaml added to base
Citrus iconv(3) in libcnewest jemalloc 3.4.1 in libcnvi editor supports wide character localeswpa_supplicant/hostapd updated to 2.0OpenSSH updated to 6.4OpenSSL updated to 1.0.1e
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 9 / 27
![Page 20: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/20.jpg)
Userland changes Other userland updates
Other userland updates
freebsd-version(1) tool introducedlibyaml added to baseCitrus iconv(3) in libcnewest jemalloc 3.4.1 in libc
nvi editor supports wide character localeswpa_supplicant/hostapd updated to 2.0OpenSSH updated to 6.4OpenSSL updated to 1.0.1e
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 9 / 27
![Page 21: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/21.jpg)
Userland changes Other userland updates
Other userland updates
freebsd-version(1) tool introducedlibyaml added to baseCitrus iconv(3) in libcnewest jemalloc 3.4.1 in libcnvi editor supports wide character locales
wpa_supplicant/hostapd updated to 2.0OpenSSH updated to 6.4OpenSSL updated to 1.0.1e
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 9 / 27
![Page 22: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/22.jpg)
Userland changes Other userland updates
Other userland updates
freebsd-version(1) tool introducedlibyaml added to baseCitrus iconv(3) in libcnewest jemalloc 3.4.1 in libcnvi editor supports wide character localeswpa_supplicant/hostapd updated to 2.0OpenSSH updated to 6.4OpenSSL updated to 1.0.1e
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 9 / 27
![Page 23: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/23.jpg)
Userland changes Other userland updates
Installer
bsdinstall features ZFS root installationRemoved old installer sysinstall and auxiliary toolslibdisk, libftpio, sade
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 10 / 27
![Page 24: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/24.jpg)
Kernel: virtualization bhyve
bhyve(4) hypervisor
BSD hyper visor(pronounced as “bee hive”)
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 11 / 27
![Page 25: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/25.jpg)
Kernel: virtualization bhyve
bhyve(4) hypervisor
BSD hyper visor(pronounced as “bee hive”)
Requirements:host is amd64: Intel CPU with VT-xfeature or AMD CPU with AMD-Vfeatureno BIOS provided
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 11 / 27
![Page 26: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/26.jpg)
Kernel: virtualization bhyve
bhyve(4) hypervisor
BSD hyper visor(pronounced as “bee hive”)
Results in:12k lines of code in kernel14k lines of code in userland
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 11 / 27
![Page 27: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/27.jpg)
Kernel: virtualization bhyve
bhyve(4) hypervisor
BSD hyper visor(pronounced as “bee hive”)
Guest OSes supported:FreeBSD, OpenBSDGNU/Linux
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 11 / 27
![Page 28: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/28.jpg)
Kernel: virtualization guest improvements
Guest improvements
Xen and Xen HVM in GENERIC kernelMicrosoft Hyper-V drivers addedVMware VMXNET3 driver added
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 12 / 27
![Page 29: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/29.jpg)
Kernel: ARM port
ARM port
ARM soon to become Tier 1 platformcompiled with clangsuperpages supportEABI by default
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 13 / 27
![Page 30: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/30.jpg)
Kernel: security capsicum(4) update
capsicum(4) update
Capsicum - hybrid capability + UNIX accesscontrol model. Introduced in FreeBSD 9.0.
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 14 / 27
![Page 31: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/31.jpg)
Kernel: security capsicum(4) update
capsicum(4) update
Capsicum integrates further into FreeBSD:notions of “capability” and “filedescriptor” mergenew APIs: cap_new(2)cap_rights_limit(2)
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 14 / 27
![Page 32: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/32.jpg)
Kernel: security capsicum(4) update
capsicum(4) update
Capsicum integrates further into FreeBSD:notions of “capability” and “filedescriptor” mergenew APIs: cap_new(2)cap_rights_limit(2)capsicum(4) in GENERIC by defaultsandboxed applications: tcpdump(1),dhclient(8), rwhod(8), kdump(8),hastd(8), auditdistd(8), ctld(8),iscsid(8)
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 14 / 27
![Page 33: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/33.jpg)
Kernel: security capsicum(4) update
capsicum(4) update
Future integration in 10.1-RELEASE:casperd(8) daemonlibcapsicum(3) librarysandboxing a lot of applications
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 14 / 27
![Page 34: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/34.jpg)
Kernel: security /dev/random improvements
better random
Problem: hardware assisted randomness (RDRAND andPadlock) no longer trusted.Solution: run them through Yarrow.
Problem: not enough entropy on early boot.Solution: we can get some from device attach time.
Problem: not enough entropy on first boot.Let bsdinstall save an entropy cookie for future boot.
FreeBSD 11.0 plan: substitute Yarrow with Fortuna.
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 15 / 27
![Page 35: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/35.jpg)
Kernel: security /dev/random improvements
better random
Problem: hardware assisted randomness (RDRAND andPadlock) no longer trusted.Solution: run them through Yarrow.
Problem: not enough entropy on early boot.Solution: we can get some from device attach time.
Problem: not enough entropy on first boot.Let bsdinstall save an entropy cookie for future boot.
FreeBSD 11.0 plan: substitute Yarrow with Fortuna.
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 15 / 27
![Page 36: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/36.jpg)
Kernel: security /dev/random improvements
better random
Problem: hardware assisted randomness (RDRAND andPadlock) no longer trusted.Solution: run them through Yarrow.
Problem: not enough entropy on early boot.Solution: we can get some from device attach time.
Problem: not enough entropy on first boot.Let bsdinstall save an entropy cookie for future boot.
FreeBSD 11.0 plan: substitute Yarrow with Fortuna.
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 15 / 27
![Page 37: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/37.jpg)
Kernel: security /dev/random improvements
better random
Problem: hardware assisted randomness (RDRAND andPadlock) no longer trusted.Solution: run them through Yarrow.
Problem: not enough entropy on early boot.Solution: we can get some from device attach time.
Problem: not enough entropy on first boot.Let bsdinstall save an entropy cookie for future boot.
FreeBSD 11.0 plan: substitute Yarrow with Fortuna.
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 15 / 27
![Page 38: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/38.jpg)
Kernel: general improvements callout(9) new generation
callout(9) improvements
callout(9) - kernel subsystem to schedule delayed events.
New improvements:ticklessevent coalescingdirect execution
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 16 / 27
![Page 39: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/39.jpg)
Kernel: general improvements callout(9) new generation
callout(9) improvements
callout(9) - kernel subsystem to schedule delayed events.New improvements:
ticklessevent coalescingdirect execution
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 16 / 27
![Page 40: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/40.jpg)
Kernel: general improvements unmapped I/O
unmapped I/O
Problem: kernel doing I/O on behalf of userland processmaps the I/O region into kernel address space.
Change ofvirtual memory map requires notification of other CPUs.
Solution: unmapped I/O. Required modification of filesystem layer, GEOM classes, disk drivers.
Result: 30% of system CPU time saved in I/O boundtasks.
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 17 / 27
![Page 41: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/41.jpg)
Kernel: general improvements unmapped I/O
unmapped I/O
Problem: kernel doing I/O on behalf of userland processmaps the I/O region into kernel address space. Change ofvirtual memory map requires notification of other CPUs.
Solution: unmapped I/O. Required modification of filesystem layer, GEOM classes, disk drivers.
Result: 30% of system CPU time saved in I/O boundtasks.
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 17 / 27
![Page 42: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/42.jpg)
Kernel: general improvements unmapped I/O
unmapped I/O
Problem: kernel doing I/O on behalf of userland processmaps the I/O region into kernel address space. Change ofvirtual memory map requires notification of other CPUs.
Solution: unmapped I/O. Required modification of filesystem layer, GEOM classes, disk drivers.
Result: 30% of system CPU time saved in I/O boundtasks.
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 17 / 27
![Page 43: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/43.jpg)
Kernel: general improvements unmapped I/O
unmapped I/O
Problem: kernel doing I/O on behalf of userland processmaps the I/O region into kernel address space. Change ofvirtual memory map requires notification of other CPUs.
Solution: unmapped I/O. Required modification of filesystem layer, GEOM classes, disk drivers.
Result: 30% of system CPU time saved in I/O boundtasks.
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 17 / 27
![Page 44: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/44.jpg)
Kernel: general improvements memory management
memory management changes
Kernel memory maps:vmem(9) generic allocator from NetBSDkernel memory map allocation backed by vmem(9)
Mach VMradix tree instead of splay tree for vm_pages invm_object
UMAperformance/efficiency improvementsper-CPU zoneslog warning when a zone hits limit
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 18 / 27
![Page 45: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/45.jpg)
Kernel: general improvements memory management
memory management changes
Kernel memory maps:vmem(9) generic allocator from NetBSDkernel memory map allocation backed by vmem(9)
Mach VMradix tree instead of splay tree for vm_pages invm_object
UMAperformance/efficiency improvementsper-CPU zoneslog warning when a zone hits limit
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 18 / 27
![Page 46: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/46.jpg)
Kernel: general improvements memory management
memory management changes
Kernel memory maps:vmem(9) generic allocator from NetBSDkernel memory map allocation backed by vmem(9)
Mach VMradix tree instead of splay tree for vm_pages invm_object
UMAperformance/efficiency improvementsper-CPU zoneslog warning when a zone hits limit
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 18 / 27
![Page 47: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/47.jpg)
Kernel: general improvements atomic close-on-exec
atomic close-on-exec
Prevents descriptor leak in presence of threads orsignalsSuggested for future POSIX
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 19 / 27
![Page 48: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/48.jpg)
Kernel: I/O and storage improvements
storage changes
NAND flash supportNAND controller/chip/bus APIsNAND disk GEOM classNAND file system
Resizinggeneral support of “resize” notion in GEOMresizing of GEOM mirror (in 10.1-RELEASE)growfs(1) works on mounted filesystems
legacy ATA layer removed
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 20 / 27
![Page 49: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/49.jpg)
Kernel: I/O and storage improvements
storage changes
NAND flash supportNAND controller/chip/bus APIsNAND disk GEOM classNAND file system
Resizinggeneral support of “resize” notion in GEOMresizing of GEOM mirror (in 10.1-RELEASE)growfs(1) works on mounted filesystems
legacy ATA layer removed
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 20 / 27
![Page 50: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/50.jpg)
Kernel: I/O and storage improvements
storage changes
NAND flash supportNAND controller/chip/bus APIsNAND disk GEOM classNAND file system
Resizinggeneral support of “resize” notion in GEOMresizing of GEOM mirror (in 10.1-RELEASE)growfs(1) works on mounted filesystems
legacy ATA layer removed
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 20 / 27
![Page 51: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/51.jpg)
Kernel: I/O and storage GEOM
GEOM: work in progress
Targeted for 10.1-RELEASE:
direct dispatch in GEOM instead of two threadsfine grained locking of CAM layer
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 21 / 27
![Page 52: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/52.jpg)
Kernel: I/O and storage GEOM
GEOM: work in progress
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 21 / 27
![Page 53: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/53.jpg)
Kernel: I/O and storage GEOM
GEOM: work in progress
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 21 / 27
![Page 54: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/54.jpg)
Kernel: I/O and storage 3rd party filesystems
FUSE
FUSE moved to base from ports to improve stability
Giant-locked and GPL-contaminated filesystemsremoved from kernel: hpfs, ext2fs, ntfs, reiserfs, coda,xfs, nwfs, portalfs.
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 22 / 27
![Page 55: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/55.jpg)
Kernel: I/O and storage 3rd party filesystems
FUSE
FUSE moved to base from ports to improve stabilityGiant-locked and GPL-contaminated filesystemsremoved from kernel: hpfs, ext2fs, ntfs, reiserfs, coda,xfs, nwfs, portalfs.
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 22 / 27
![Page 56: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/56.jpg)
Kernel: networking changes
networking changes
newest Infiniband OFED stacknative iSCSI Target and Initiatoretherswitch(4): embedded Ethernet switch driver
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 23 / 27
![Page 57: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/57.jpg)
Kernel: networking changes
networking changes
ZERO_COPY_SOCKETSsendfile(2) on shared memory fd
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 23 / 27
![Page 58: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/58.jpg)
Kernel: networking changes
networking changes
network byte order throughout the stackcounter(9): raceless and cheap statistic per-CPUcountersIP/TCP/UDP dtrace(1) providers
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 23 / 27
![Page 59: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/59.jpg)
Kernel: networking carp
new carp(4)
CARP isn’t pseudo-interface any more. Redundant addressis configured directly on a real interface.% ifconfig igb0 10.0.0.112/27 vhid 112% ifconfig igb0igb0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
ether 00:25:90:03:0e:fainet 10.0.0.112 netmask 0xffffffe0 broadcast 10.0.0.127 vhid 112media: Ethernet autoselect (1000baseT <full-duplex>)status: activecarp: BACKUP vhid 112 advbase 1 advskew 0
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 24 / 27
![Page 60: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/60.jpg)
Kernel: networking packet filters
packet filters
pf(4): fork off OpenBSD, bringing in multithreadingipfilter(4): update to 5.1.2 (BSD license pledged)ipfw(4): no significant changes
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 25 / 27
![Page 61: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/61.jpg)
Kernel: networking packet filters
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 26 / 27
![Page 62: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/62.jpg)
Conslusion looking forward to FreeBSD 11
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 27 / 27
![Page 63: Глеб Смирнов: Что нового в FreeBSD 10.0](https://reader035.vdocument.in/reader035/viewer/2022081507/554be759b4c9056b348b4bed/html5/thumbnails/63.jpg)
Conslusion looking forward to FreeBSD 11
Questions?
Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 27 / 27