Remaining drivers and hardware changes
[ikiwiki.git] / release32 / index.mdwn
CommitLineData
da4e7f03 1# DragonFly Release 3.2
2
3## 22 October 2012 (3.2.1 release)
4
5
6The DragonFly 3.0 release is here!
7
8## Big-ticket items
9
fa7ea09f 10### Performance improvements under database load
da4e7f03 11
fa7ea09f 12Significant work has gone into the scheduler to improve performance, using postgres benchmarking as a measure. See
372b1eff 13[the PDF of graphed results](http://lists.dragonflybsd.org/pipermail/users/attachments/20121010/7996ff88/attachment-0002.pdf) to see the improvements. DragonFly should be now one of the best selections for Postgres and other databases.
d7de0cab 14
fa7ea09f 15### New USB stack
da4e7f03 16
fa7ea09f 17[USB4BSD](http://www.selasky.org/hans_petter/usb4bsd/) has been incorporated into this release. More USB devices are compatible with DragonFly, and xhci (USB 3.0) users may be able to take full advantage of their newer hardware. Since this is a new feature, it is available in 3.2 but *not* built by default. See the [original announcement](http://lists.dragonflybsd.org/pipermail/users/2012-October/017542.html) for how to do so.
da4e7f03 18
19## Availability
20
21Four release options are now available for 32-bit as well as for 64-bit. 64-bit installations are recommended if you do not need the linux emulation layer.
22
23* An ISO, to be burned to a physical CD or used as an image to install a virtual machine.
24* A bootable USB disk-key image. (minimum 2G USB stick needed)
25* A GUI bootable ISO image with a full X environment. DVD disc required.
26* A GUI bootable USB disk-key image with a full X environment. (minimum 4G USB stick needed)
27* The GUI images also include a snapshot of our git repos in /usr/src/.git and /usr/pkgsrc/.git which can be incrementally updated after the installation.
28
29The release ISO images should be available on most of the [[mirrors|mirrors]]. If the ISO is not available on a certain mirror, please try another one or download it from the DragonFly master site. Each image is in the "Live CD" format, meaning that it boots into a running and fully functional DragonFly system, which can be used for testing or system recovery tasks as well as installation. Check the [hardware page](http://www.dragonflybsd.org/docs/supportedhardware/) or boot a Live CD to check for compatibility.
30
31The GUI bootable USB image also contains the DragonFly git repo in /usr/src and the pkgsrc git repo in /usr/pkgsrc. The code can be trivially checked out using these repos and can be incrementally updated from master sites, post-install.
32
33### MD5 sums
34
35MD5 sums for the compressed images:
36
37* MD5 (dfly-i386-3.0.1_REL.img.bz2) = 8f812dbcb9c0ca28a61f5a0ae1e35a9e
38foo
39foo
40
41MD5 sums for the uncompressed images:
42
43* MD5 (dfly-i386-3.0.1_REL.img) = a7cc87b26c04a179476f9c3f20f8ce9d
44foo
45foo
46
47
48### pkgsrc packages
49
50We offer roughly 10,000 pre-built [pkgsrc](http://www.pkgsrc.org) packages for this release. The [pkg_radd(1)](http://leaf.dragonflybsd.org/cgi/web-man?command=pkg_radd&section=ANY) utility may be used to download pre-built binary packages. The path can be overridden by setting BINPKG_BASE in `/etc/pkg_radd.conf`.
51
52To get a list of all packages, let [pkg_search(1)](http://leaf.dragonflybsd.org/cgi/web-man?command=pkg_search&section=ANY) download the summary file for that release:
53
54 # pkg_search -d
55
56We supply a Makefile in `/usr` to track the pkgsrc tree and we supply a Git mirror of the NetBSD pkgsrc CVS repo at `git://git.dragonflybsd.org/pkgsrcv2.git`. We recommend that users use it, instead of pulling from NetBSD with CVS. Our Git mirror is updated several times a day. Type 'make' in /usr to see the available commands for performing these actions.
57
58## DragonFly 3.0 Special Installation and Upgrade Notes
59
60**Disk size warning** - Unless your hard disk is 50G or larger, we recommend doing a UFS install and not the default HAMMER install. We also recommend installing from the CD ISO, not the GUI .img, for smaller drives. A more serious installation should use HAMMER with at least 50G of disk space and can install from the GUI .img. HAMMER on smaller disk drives is possible but requires careful pruning to keep from filling the disk with file history.
61
62**Virtual PC users** - Virtual PC does not supply serial numbers for the virtual disks. The system may need to be manually directed in the boot loader if the disk identifier changes. (Hit ? in the boot loader for a list of available volumes.)
63
64**Qemu users** - If you see a large number of error messages on the console when booting, you may need to boot DragonFly with ACPI disabled. This can be done in the menu presented at initial boot. If that doesn't help, try placing hw.ioapic_enable=0 in /boot/loader.conf.
65
66**Installer Crypt Options** - The installer can encrypt the root volume and the swap volume. It will not work properly for other volumes despite any additional check-boxes you might see. Installer and boot-time support works but is still a bit rough around the edges. Performance will be relatively high on multi-core machines.
67
68**Remaining issues** -
69
70
71## DragonFly 3.2.1 Release Notes
72
73> ### Kernel changes
74
33410790 75* Many bug fixes, greatly improving stability. More robust pcb_onfault handling, fixed issues in the namecache module, VM system, etc.
76
77* Removed several arbitrary bounds on kernel caches (such as the buffer cache) for x86-64.
78
79* Improved control over BREAK_TO_DEBUGGER by adding run-time sysctls.
80
81* Removed sio console baud switching when console & getty/login is running on the same serial port.
82
83* mmap() now segment-aligns mappings when reasonable to do so.
84
85* KTR logging is now frozen on entry to panic.
da4e7f03 86
96930242 87* Removed size cap for tmpfs. This created problems when mounting tmpfs partitions from fstab prior to swap being turned on.
88
89* Numerous buffer cache clustering performance improvements.
90
91* Numerous vkernel related fixes.
92
3395d15b 93* Implicit 64KB I/O request size limitations have been removed. All block devices can now cluster I/O requests up to MAXPHYS (currently 128KB) if they support it.
a4c07330 94
95* A new filesystem-independent quota subsystem has been added. See vquota(8)
96
9d63f830 97* Fixed floating point rounding for long double in x86_64 platform
98
a4c07330 99> ### Hardware changes
100
3395d15b 101* A driver for the new Ivy Bridge random number generator has been added
102
103* Our ACPI reference implementation has been updated
104
105* Smart Battery System support has been added
106
107* Many ACPI and interrupt routing improvements, as well as bug fixes and workarounds for broken hardware
108
a4c07330 109* Watchdog drivers for Intel and AMD chipsets have been imported from FreeBSD. See ichwd(4) and amdsbwd(4).
110
5250ed68 111* Many ethernet drivers have been updated and reworked to fix bugs and increase performance
112
a4c07330 113* A ixgbe(4) driver for Intel 10Gb/s ethernet adapters has been added.
5250ed68 114
115* Many drivers for hardware RAID adapters have been updated
116
117* A hpt27xx(4) driver for HighPoint RocketRAID 27xx SAS controllers has been added
118
119* A hptrr(4) driver for HighPoint RocketRAID 17xx, 22xx, 23xx and 25xx has been added
da4e7f03 120
121> ### New Multiprocessor-safe Work
81b597c4 122
123* Introduced a new cpu topology aware scheduler, usched_dfly, and made it the default. This scheduler implements several weighted algorithms and will first try to schedule threads to different sockets (to make best use of on-chip caches). As the load increases threads are then scheduled to real cores, and finally will be scheduled to hyper-threads. Threads with similar load characteristics tend to get spread out more. The scheduler also implements wait/wakeup pairing detection and tries to move related threads closer together to reduce inter-socket cache coherency bandwidth and share L3 caches.
124
125* Greatly reduced SMP bottlenecks in the unix domain socket code.
126
127* Implemented shared tokens to reduce unnecessary bottlenecks in the VM system, particularly for forked and threaded processes.
128
129* Introduced a major pmap optimization for x86-64 which allows page table pages to be shared between UNRELATED processes (so it works for process's separately exec'd or forked), in situations where those processes are mmap()ing the same thing. This feature works extremely well for both sysv shared memory and mmap()-based shared memory. In tests with postgres and a 6GB shared memory block the prior memory consumption from forking is now gone. This page table sharing works even better than the original shm_use_phys sysctl. Also observed significantly faster X application startup.
33410790 130
131* Removed bottlenecks from the SYSV semaphore module and fixed numerous timing races.
132
133* Added ability to bypass hardware timer read for gettimeofday(), added additional CLOCK_* defines for clock_gettime() and friends.
134
da4e7f03 135> ### Userland changes
33410790 136
137* mount now sniffs the label for hints on what type of filesystem is being mounted, when not otherwise specified. UFS is only assumed if no information can be garnered from the sniffing.
138
5a2fc42a 139* Added support for DT_GNU_HASH elf sections (RTLD).
ecfe9d07 140Essentially DT_GNU_HASH is a GNU extension to the ELF
141format that allows symbol searches much faster than the System V ABI
142standard hash does.
143For very large programs written in languages such as c++ that tend to link in many libraries with many symbols, the reduction in start-time can be dramatic.
5a2fc42a 144Base compilers were updated to generate both SysV and GNU hashes for every dynamic binary and the GNU hash will be used preferentially by the dynamic linker.
145
1af8e122 146* Dynamic linker (RTLD)
147Added support for preinit, init, and fini arrays
148Added support for DT_RUNPATH
149Added support for -z nodefaultlib flag
150Updated ELF filter implementation
151Added support for dflopen
152Added two new directives to libmap.conf
dee6b11d 153Synced general bug fixes from FreeBSD
154
155* Support exception handling on statically linked binaries
da4e7f03 156
9d63f830 157* Imported terminfo and deprecated termcap
158DragonFly is the only BSD using terminfo for its terminal database. Termcap is still installed but terminfo has a higher priority and is accessed first.
159
15a54c90 160* LDVER support added
161If the environment variable LDVER is set as "ld.gold" then the gold linker will be used over the default ld.bfd linker, similar to compiler-focused CCVER. Invalid values are ignored.
162
163* cut - synced with FreeBSD
164
bcbb21ce 165* realpath - missing posix functionality added (From FreeBSD)
166
167* TUI mode added to kgdb, fixed on gdb
168
b370399d 169* boot2 loader reworked for more efficient code so gcc4.6, gcc4.7, and clang will be able to build it within the size limit
170
da4e7f03 171> ### Removals
da4e7f03 172
173> ### Contributed Software
174* Shipping with pkgsrc-2012Q3 built packages.
1af8e122 175* removed gcc 4.1
176* added libedit 2012-03-11 from NetBSD
177* added libmpc 1.0.1
178* added gcc 4.7.2
179* grep 2.9 replaced with grep 2.12
180* gdb 7.3 replaced with gdb 7.4.1
181* zlib 1.2.5 replaced with zlib 1.2.7
182* ncurses 5.7 replaced with ncurses 5.9
183* libgmp 5.0.2 replaced with libgmp 5.0.5
dee6b11d 184* gcc 4.4 updated to final release 4.4.7
da4e7f03 185
186>### Security related