Language Selection

English French German Italian Portuguese Spanish

BSD

LLVM 7.0.0 is Ready

Filed under
Development
BSD
  • [llvm-dev] [7.0.0 Release] The final tag is in

    The final version of 7.0.0 has been tagged from the branch at r342370. It is identical to rc3 modulo release notes and docs changes.

  • LLVM 7.0 Is Ready For Release

    The LLVM/Clang 7.0 release had been running a bit behind schedule and warranted a third release candidate, but this week LLVM 7.0.0 is now ready to ship.

    Release manager Hans Wennborg announced minutes ago on the mailing list that the 7.0.0 release has been tagged in their source tree. This ends up being the same as last week's 7.0-RC3 except for release notes and documentation updates.

  • LLVM Developers Still Discussing SPIR-V Support Within Clang

    One of the features that didn't materialize for LLVM / Clang 7.0 is the SPIR-V support within the compiler toolchain.

    While there has been a SPIR-V / LLVM translator out-of-tree and various developers at different vendors have been discussing for months the prospects of adding SPIR-V intermediate representation support to LLVM/Clang, it has yet to materialize.

    The latest developer discussion is to have a roundtable talk on the SPIR-V integration at the 2018 LLVM Developers' Meeting. This year the LLVM Developers' Meeting is happening at the San Jose Convention Center from 17 to 18 October.

Doing One Thing, Well: The UNIX Philosophy

Filed under
OS
GNU
BSD

The Unix operating system has been around for decades, and it and its lookalikes (mainly Linux) are a critical part of the computing world. Apple’s operating system, macOS, is Unix-based, as are Solaris and BSD. Even if you’ve never directly used one of these operating systems, at least two-thirds of all websites are served by Unix or Unix-like software. And, if you’ve ever picked up a smart phone, chances are it was running either a Unix variant or the Linux-driven Android. The core reason that Unix has been so ubiquitous isn’t its accessibility, or cost, or user interface design, although these things helped. The root cause of its success is its design philosophy.

Good design is crucial for success. Whether that’s good design of a piece of software, infrastructure like a railroad or power grid, or even something relatively simple like a flag, without good design your project is essentially doomed. Although you might be able to build a workable one-off electronics project that’s a rat’s nest of wires, or a prototype of something that gets the job done but isn’t user-friendly or scalable, for a large-scale project a set of good design principles from the start is key.

Read more

Compilers: LLVM and compiler as a shared library

Filed under
Development
GNU
BSD
  • LLVM 7.0 RC3 Released - The Last Release Candidate

    While only two release candidates were on the schedule for LLVM 7.0, release manager Hans Wennborg today opted for a third RC that he intends to be the final test version before officially releasing the LLVM 7.0.0 collection.

    LLVM 7.0 RC3 was released this morning as the last release candidate and incorporates the recent bug fixing that's went on since the RC2 release at the end of August. Assuming no serious issues are uncovered, this version should be very close to LLVM 7.0.0 final.

  • A Look At The Features Coming With LLVM 7.0 & Clang 7.0

    It's running a few days late, but the LLVM 7.0 release along with sub-projects like Clang 7.0 should be released very soon. Here is a look at some of the features coming to this six-month compiler infrastructure update.

    Below is a look at the highlights for LLVM 7.0. Overall it's been another busy half-year with many additions to the AMDGPU back-end, the new LLVM MCA utility, continued work on the Spectre front, OpenCL C++ support is introduced, function multi-versioning (FMV) finally for Clang, OpenMP 4.5 offloading to NVIDIA NVPTX, and many other compiler infrastructure improvements.

  • The compiler as a shared library

    Since times immemorial, compilers have been run as standalone batch processes. If you have 50 files to compile, then you invoke the compiler 50 times, once on each file. Since each compilation is independent of all others, the work can be parallelised perfectly. This seems like a simple and optimal solution.
    But, as is commonly the case, this is not the whole truth. When compiling code, there are many subtasks that are common to each individual compilation and this causes a lot of duplication of effort. Perhaps the best known case of this are C++ templates. They are parsed and codegenerated for each file that uses them yielding in the same code in dozens of files. Then the linker comes along and throws all but one of them away. There are a bunch of other issues which are discussed in this video from LLVM developer's conference:

BSD Developers and News

Filed under
BSD
  • Pricing Shifts between CreateSpace, IngramSpark, and KDP Print

    Before I go all stabby, though, let’s gather all the information. For an apples-to-apples comparison, I’m setting the CreateSpace price of Spilled Mirovar to $6.99, same as KDP Print and IngramSpark. We really need to make two comparisons. CreateSpace’s Expanded Distribution (CSED) is analogous to IngramSpark, and CreateSpace’s Amazon service is migrating to KDP Print.

  • FreeBSD lockless algorithm - seq

    Those days locking algorithms are critical for operating systems, especially in a multi-threaded world. With time it turns out that classical locks, like mutex, are performance costly. Even when we are using techniques like having reads and writes mutex, synchronizing the state between CPUs can be costly. To optimize some cases, the lockless algorithm started to be used.

    There are multiple places in the kernel where we need to read some variables very often, but there is a small number of cases when we write to them. For such cases, the seq interface was created. [...]

  • How does the process title works?

    Let's start by defining what the title of a process is - in this article, we will understand the name reported by ps(1)/top(1). When we are creating a new process using fork(2) the process inherits the name from its parent. In the scenario when we call exec(2) function we also pass the list of the arguments for a process, which will be treated as a process title. What if we would like to change the title of the process when it's running? It turns out that many operating systems do it in a different way. In this article we will discuss how open source operating systems like FreeBSD, Linux, OpenBSD, NetBSD, and DragonFlyBSD do it.

  • OpenBSD on disk images

    Users are able to declare disk images as ‘raw’ or ‘qcow2’ using either vmctl and vm.conf. The default disk image format is ‘raw’ if not specified.

BSD: LLVM/Clang and Fuzzing the OpenBSD Kernel

Filed under
BSD
  • LLVM/Clang Gets Plumbed For Kernel Memory Sanitizer

    The latest "sanitizer" worked on by Google's developers for the LLVM/Clang compiler infrastructure is a Kernel Memory Sanitizer (KMSAN).

    KMSAN is a special sanitizer compared to the conventional Memory Sanitizer pass that is just focused on kernel memory. Currently this new LLVM pass just supports the Linux x86_64 kernel. Those unfamiliar with the existing MemorySanitizer functionality that already lives within LLVM can see the documentation on this pass.

  • Fuzzing the OpenBSD Kernel

    Anton Lindqvist (anton@) gave a talk at BSD Users Stockholm Meetup #3 on the kernel coverage tracing kit he committed recently. Slides are now available via the OpenBSD Events and Papers page.

NetBSD 7.2 Released

Filed under
BSD
  • NetBSD 7.2 released (August 29, 2018)

    The NetBSD Project is pleased to announce NetBSD 7.2, the second feature update of the NetBSD 7 release branch. It represents a selected subset of fixes deemed important for security or stability reasons, as well as new features and enhancements.

  • NetBSD 7.2 Released - Backports USB 3.0 Support, Raspberry Pi 3 Compatibility

    While NetBSD 8.0 was released in July with new features like initial USB 3.0 support and UEFI boot-loader support for x86 64-bit hardware, for those not wanting to jump to 8.0 from the 7 series can now enjoy NetBSD 7.2.

    NetBSD 7.2 is a feature update to NetBSD 7 for those not yet or unable to migrate to NetBSD 8.0. NetBSD 7.2 back-ports support for USB 3.0 hardware, enhances the Linux emulation subsystem, provides support for newer Intel WiFi/WLAN cards, adds Raspberry Pi 3 support, offers various USB improvements, and has various bug fixes and stability improvements.

  • NetBSD 7.2 Branch Update Release Brings USB 3.0 and Raspberry Pi 3 Support

    The NetBSD Project has released NetBSD 7.2, which is the second feature update of the NetBSD 7 release branch. This release brings a subset of fixes that were deemed important to security or stability reasons, and several new features and overall enhancements.

    NetBSD is a free and highly portable Unix-like operating system, and is entirely Open Source. It is available for many platforms such as 64-bit x86 servers, to various embedded ARM and MIPS based devices (SoCs).

A Look At DragonFlyBSD's Kernel Tuning Performance On The AMD Threadripper 2990WX

Filed under
Graphics/Benchmarks
BSD

Last week I posted some initial tests and benchmarks of DragonFlyBSD/FreeBSD on the AMD Threadripper 2990WX. While that went well and the BSDs scale with this 32-core / 64-thread processor better than Windows, lead DragonFly developer Matthew Dillon had picked up a 2990WX system and has been tuning the kernel ever since. Here are some benchmarks looking at some of his recent optimizations.

Hours after that BSD Threadripper testing ended last week, Matthew Dillon landed some more performance tuning/optimizations to benefit the Threadripper 2990WX design. Here are some benchmarks of that original 2990WX support on DragonFlyBSD 5.3-DEVELOPMENT compared to the later daily snapshot.

Read more

BSD: OpenBSD and KDE-FreeBSD

Filed under
BSD
  • RSS Feed available for OpenBSD-current special instructions

    I wrote a script generating a RSS file from the content of the page https://www.openbsd.org/faq/current.html

  • Out with the Old ..

       KDE4 ports will be removed from FreeBSD ports on December 31st, 2018

    [...]

    As for KDE4 itself: there haven’t been any upstream KDE4 releases since Applications 17.08.3, and Qt4 upon which it depends is EOL since 2015. The latest KDE Plasma desktop has been available in the official ports tree for over four months (and has been in use by users of Area51 for much much longer).

    So, given that there is a viable upgrade path (although, truth be told, you’ll probably have to re-configure KMail and get used to Falkon), we’ve decided to put a four month deprecation period on all the KDE4 ports. They will be removed at the end of this year, which will free up some maintainence time for chasing the steady stream of updates from the KDE community.

  • KDE4 Being Dropped From FreeBSD At The End Of The Year

    With KDE4 not having seen an upstream release in years and the old KDE4 code beginning to break under newer C++ compilers, the KDE-FreeBSD team has announced a four-month deprecation period after which they are dropping the KDE4 ports from the operating system.

    On 31 December 2018 is when the FreeBSD maintainers of these older KDE packages plan to drop the KDE4 packages from their tree.

BSD: OpenSSH 7.8, OpenBSD Foundation, FreeBSD

Filed under
BSD
  • OpenSSH 7.8 released

    OpenSSH 7.8 is out. It includes a fix for the username enumeration vulnerability; additionally, the default format for the private key file has changed, support for running ssh setuid root has been removed, a couple of new signature algorithms have been added, and more.

  • OpenBSD Foundation gets first 2018 Iridium donation!

    This year the first $100K+ donation came from Handshake (https://www.handshake.org).

  • Remote Access Console using Raspberry Pi 3b+ and FreeBSD

    I have a small homelab and I was looking into some sort of KVM console to be able to access them both locally and remotely instead of moving around VGA cables/serial cables.

    Those are rather expensive so I opted to build my own remote access system. Since all my servers and switch(es) have a serial console that should not be to hard.

BSD: OpenSSH 7.8 and DragonFlyBSD Gets Performance Tuning For Threadripper 2990WX Topology

Filed under
BSD
  • OpenSSH 7.8 released
  • DragonFlyBSD Gets Performance Tuning For Threadripper 2990WX Topology, Scheduler Tuning

    While it was just days ago that DragonFlyBSD lead developer Matthew Dillon got his hands on a Threadripper 2990WX 32-core / 64-thread "beast", got it working under this long ago forked operating system from FreeBSD, and proceeded to exclaim with joy how powerful this system is, he's now made it even better. Dillon has landed some additional kernel work to benefit the AMD Ryzen Threadripper 2990WX.

    On top of the kernel changes made at the end of last week to bring-up the 2990WX support, Matthew Dillon has now had the time to do some tuning to make this 64-thread system perform even faster. Hitting DragonFlyBSD Git overnight was a patch to update the AMD topology detection as seeing four nodes with eight cores and two threads per core, per node. Previously it was just exposed as a CPU with 32 cores and 2 threads per core.

    The DragonFly patch also now is able to expose how much memory is accessible from each node, an instability fix in the kernel's scheduler when dealing with large core counts, and memory-on-node weighting in the scheduler.

Syndicate content

More in Tux Machines

Linux firewalls: What you need to know about iptables and firewalld

A firewall is a set of rules. When a data packet moves into or out of a protected network space, its contents (in particular, information about its origin, target, and the protocol it plans to use) are tested against the firewall rules to see if it should be allowed through. Here’s a simple example... Read more

Mozilla: Firefox GCC/LLVM Clang Dilemma, September 2018 CA Communication and CfP

  • Fedora Firefox – GCC/CLANG dilemma
    After reading Mike’s blog post about official Mozilla Firefox switch to LLVM Clang, I was wondering if we should also use that setup for official Fedora Firefox binaries. The numbers look strong but as Honza Hubicka mentioned, Mozilla uses pretty ancient GCC6 to create binaries and it’s not very fair to compare it with up-to date LLVM Clang 6. Also if I’m reading the mozilla bug correctly the PGO/LTO is not yet enabled for Linux, only plain optimized builds are used for now…which means the transition at Mozilla is not so far than I expected.
  • September 2018 CA Communication
    Mozilla has sent a CA Communication to inform Certification Authorities (CAs) who have root certificates included in Mozilla’s program about current events relevant to their membership in our program and to remind them of upcoming deadlines. This CA Communication has been emailed to the Primary Point of Contact (POC) and an email alias for each CA in Mozilla’s program, and they have been asked to respond to the following 7 action items:
  • Emily Dunham: CFP tricks 1
    Some strategies I’ve recommended in the past for dealing with this include looking at the conference’s marketing materials to imagine who they would interest, and examining the abstracts of past years’ talks.

today's howtos

Security: Quantum Computing and Cryptography, Time to Rebuild Alpine Linux Docker Container

  • Quantum Computing and Cryptography
    Quantum computing is a new way of computing -- one that could allow humankind to perform computations that are simply impossible using today's computing technologies. It allows for very fast searching, something that would break some of the encryption algorithms we use today. And it allows us to easily factor large numbers, something that would break the RSA cryptosystem for any key length. This is why cryptographers are hard at work designing and analyzing "quantum-resistant" public-key algorithms. Currently, quantum computing is too nascent for cryptographers to be sure of what is secure and what isn't. But even assuming aliens have developed the technology to its full potential, quantum computing doesn't spell the end of the world for cryptography. Symmetric cryptography is easy to make quantum-resistant, and we're working on quantum-resistant public-key algorithms. If public-key cryptography ends up being a temporary anomaly based on our mathematical knowledge and computational ability, we'll still survive. And if some inconceivable alien technology can break all of cryptography, we still can have secrecy based on information theory -- albeit with significant loss of capability. At its core, cryptography relies on the mathematical quirk that some things are easier to do than to undo. Just as it's easier to smash a plate than to glue all the pieces back together, it's much easier to multiply two prime numbers together to obtain one large number than it is to factor that large number back into two prime numbers. Asymmetries of this kind -- one-way functions and trap-door one-way functions -- underlie all of cryptography.
  • This New CSS Attack Restarts iPhones & Freezes Macs
  • Time to Rebuild Alpine Linux Docker Containers After Package Manager Patch
  • GrrCon 2018 Augusta15 Automation and Open Source Turning the Tide on Attackers John Grigg