I usually do the releases on a Sunday afternoon, but occasionally cut the merge window short by a day just to keep people on their toes, and make sure people learn not to send in last-minute pull requests. No gaming the merge window to the last day. This is one such release.
To be fair, the reason I did it a day early this time around is less to stop people from trying to time their pull requests, and mostly because this has been a pretty big merge window, and not hugely enjoyable. I ended up stopping doing pulls twice during the merge window just because I was chasing down some random problem. That tends to turn my busy merge window time from "busy" to "somewhat stressful". But hey, it's all good now, and while 4.9 looks to be a big release and we had a couple of hiccups, on the whole things look normal. The big new thing is the greybus addition, which Greg swears is actually getting used. But the bulk of the changes by far is actually a lot of small details under the hood, as usual. My own favorite "small detail under the hood" happens to be Andy Lutomirski's new virtually mapped kernel stack allocations. They make it easier to find and recover from stack overflows, but the effort also cleaned up some code, and added a kernel stack mapping cache to avoid any performance downsides. Al has also been working on some vfs and uaccess cleanups (particularly a goo splice model cleanup) that I follow. But realistically, what _I_ consider cool small details is just my own personal thing, there's things all over. The virtual stack mapping also happens to mean that people who try to do DMA from temporary buffers on the stack ("Don't do it!") now really need to change their evil ways. So there is some fallout from this, and I expect a couple of drivers to need minor fixes. But it's all for a good cause, really (and it isn't all that common, because doing DMA from the stack really has never been a good idea, and is generally not even workable in most situations). But there really is a lot of other things going on, and the shortlog that I do for other releases is much too big during rc1. So as usual, I'm appending my "mergelog" instead, which gives a very high-level view of what I merged and from whom. And as usual, I want to point out that the person I merge from is not necessarily the person who did the work: we had 1500 people involved in this release, only the top-level maintainers get credited in my mergelog. Go forth and test, Linus --- Al Viro (7): VFS splice updates misc vfs updates splice fixups vfs xattr updates more vfs updates uaccess.h prepwork more misc uaccess and vfs updates Alex Williamson (1): VFIO updates Alexandre Belloni (1): RTC updates Andrew Morton (2): updates more updates Anna Schumaker (1): NFS client updates Arnd Bergmann (8): ARM SoC cleanups ARM SoC platform updates ARM SoC defconfig updates ARM SoC 64-bit updates ARM SoC driver updates ARM DT updates ARM 64-bit DT updates ARM SoC late DT updates Bjorn Andersson (2): remoteproc updates rpmsg updates Bjorn Helgaas (1): PCI updates Bob Peterson (1): gfs2 updates Borislav Petkov (1): EDAC updates Brian Norris (1): MTD updates Bruce Fields (1): nfsd updates Chris Mason (2): btrfs updates btrfs fixes Dan Williams (1): libnvdimm updates Darren Hart (1): x86 platform drivers updates Dave Airlie (1): drm updates Dave Chinner (2): xfs and iomap updates XFS support for shared data extents David Kleikamp (1): jfs updates David Miller (5): networking updates sparc updates networking fixups networking fixes networking fixes David Teigland (1): dlm fix David Vrabel (1): xen updates Dmitry Torokhov (2): input subsystem updates some more input subsystem updates Doug Ledford (5): hdi1 rdma driver updates more rdma updates main rdma updates more rdma updates rdma qedr RoCE driver Eric Biederman (1): namespace updates Geert Uytterhoeven (1): m68k updates Greg KH (5): char/misc driver updates driver core updates tty and serial updates usb/phy/extcon updates staging and IIO updates Greg Ungerer (1): m68knommu updates Guenter Roeck (1): hwmon updates Hans-Christian Noren Egtvedt (1): avr32 update Helge Deller (2): parisc updates parisc fixes Herbert Xu (1): crypto updates Ilya Dryomov (1): Ceph updates Ingo Molnar (14): RCU updates core SMP updates EFI updates locking updates perf updates RAS updates scheduler changes x86 apic updates low-level x86 updates x86 boot updates x86 cleanups x86 platform changes x86 timer updates x86 vdso updates Jacek Anaszewski (1): LED driver updates Jaegeuk Kim (1): f2fs updates James Bottomley (2): SCSI updates more SCSI updates James Hogan (1): metag architecture fix James Morris (1): security subsystem updates Jan Kara (1): misc filesystem and quota fixes Jeff Layton (1): file locking updates Jens Axboe (3): block layer updates blk-mq irq/cpu mapping updates blk-mq CPU hotplug update Jesper Nilsson (1): CRIS updates Jiri Kosina (3): HID updates livepatching updates trivial updates Joerg Roedel (1): IOMMU updates Jonathan Corbet (2): documentation updates one more documentation update Jussi Brar (1): mailbox updates Kees Cook (2): pstore updates gcc plugins update Lee Jones (2): backlight updates MFD updates Ley Foon Tan (1): nios2 update Linus Walleij (2): pin control updates GPIO updates Luis de Bethencourt (1): befs fixes Mark Brown (3): regmap updates regulator updates spi updates Martin Schwidefsky (1): s390 updates Mauro Carvalho Chehab (1): media updates Max Filippov (1): Xtensa updates Michael Ellerman (2): powerpc updates more powerpc updates Michal Marek (2): kbuild updates misc kbuild changes Mike Marshall (1): orangefs updates Mike Snitzer (1): device mapper updates Miklos Szeredi (2): fuse updates overlayfs updates Paul Moore (1): audit updates Radim Krčmář (1): KVM updates Rafael Wysocki (5): power management updates ACPI updates PNP update more power management updates more ACPI updates Ralf Baechle (1): MIPS updates Richard Weinberger (1): UBI/UBIFS updates Rob Herring (1): DeviceTree updates Russell King (3): ARM fix ARM updates ARM pcmcia updates Sebastian Reichel (2): power supply and reset updates HSI fix Shaohua Li (1): MD updates Shuah Khan (1): kselftest updates Stephen Boyd (1): clk framework updates Steve French (1): cifs fixes Steven Rostedt (1): tracing updates Takashi Iwai (2): sound updates sound fixes Ted Ts'o (1): ext4 updates Tejun Heo (3): libata updates percpu updates cgroup updates Thierry Reding (1): pwm updates Thomas Gleixner (9): timer updates irq updates CPU hotplug updates timer fix irq fixes scheduler fix perf tooling updates x86 updates protection keys syscall interface Tomi Valkeinen (1): fbdev updates Ulf Hansson (1): MMC updates Vineet Gupta (1): ARC updates Vinod Koul (1): dmaengine updates Will Deacon (1): arm64 updates Wim Van Sebroeck (1): watchdog updates Wolfram Sang (2): i2c updates more i2c updates Zhang Rui (1): thermal managament updates