nptl - is it beneficial and is it worth it?


Recommended Posts

Hey,

I've been doing some reading lately and I just found out about nptl. Unfortunately, the details for it are a little technical. What I'm wondering, is if its beneficial? If so, what are the benefits? I see that it allows the kernel to do all the scheduling and that parts of it have been optimized - is this noticable on the desktop?

Also, I'm wondering if its worth it - will I need to recompile much of my system in order to use nptl? Also, are there certain apps that don't work with nptl?

Thanks much

My system is so fast with NPTL. It is much more responsive than before. As another Gentoo user said, there is as much of a difference between going from non-nptl to nptl as there is when going from 2.4 to 2.6, and I think that is true. It does require the 2.6 kernel headers which are masked, but all you have to do is add your arch to the KEYWORDS in the ebuild. I did find that...uhhh...I'd say about 2 apps didn't compile the first time with NPTL, but they were easy fixes IIRC. I did do a complete reinstall of Gentoo for NPTL, but then again I have a lot of time on my hands. People have said that they just do glibc and I think gcc and it worked. Pretty much any app that has the nptl use flag should be reconfigured. "emerge -epv world | grep nptl" to see what you should recompile. Play around with it!

Well, since i've recompiled glibc, gcc, and binutils, as well as upgrading to an mm-patched 2.6.2-pre kernel, and prelinked everything, my box is flying, but I can't really say exactly which one of these has made the difference (to be honest, its not a massive difference, but this box was fairly snappy to begin with).

So yeah, I'd recommend it... just be careful to recompile your base stuff (glibc, gcc, binutils) and make sure you're running a recent kernel, because before i finished doing that, some of my apps were segfaulting on me.

From my understanding the big advantage is when you are running lots of threads. More usefull for servers than the desktop. It scales better and creates threads faster. Still a good idea if you are desktop user because it doesn't hurt anything and its kinda cool.

Awesome, performance upgrades are always nice, even if they only work with some Java apps (like I read on the gentoo forums, thanks for pointing me there static void :) ). I'll be installing this later.... just gotta recompile kernel with nptl, install linux-headers, add nptl to use flags, emerge glibc, gcc, binutils, wine as far as I can tell... I'll leave it on overnight.

Rezza, your post reminded me of something that's been bugging me for a while. I've tried using prelink according to the gentoo prelink guide on their site (prelink -afmR) and it runs for a few minutes, erroring on every single kde binary, but it *appears* to be working on other binaries. Unfortunately though, I don't notice the speed increase in startup time. I've left my prelink.conf file to be auto-generated by portage as it tells me to. Is this just happening because prelinking just doesn't work well/isn't very noticable on my computer, or am I doing something wrong?

Thanks for the help you guys =)

yeah MG-Cloud, I had the same thing happen the first time I used it... now I just make sure it doesn't try to preling anything from /opt or anything to do with KDE. It does improve startup times of some apps, but not by all that much. Firebird/thunderbird, abiword, xchat-2, etc are a few which are a bit quicker to open.

Ah, I see. Thanks rezza. I probably just didn't notice the improvement (because I prelinked right after school, a few hours after I had looked at my computer last... it probably felt the same, but was just a little faster).

Also, I think my project for tonight's gonna be nptl then, because frikkin mozilla-firebird-cvs refuses to work :D

Just a quick couple of questions though -

Do i recompile the kernel with nptl support first? If so, do I need to reboot with the updated kernel (and will it work even though my glibc/gcc is not nptl enabled?). Eg. Which comes first?

If it doesn't work, all I need to do is revert back to the old kernel and recompile gcc glibc and binutils without nptl, correct?

Thanks much

erroring on every single kde binary
that's because you gotta re-compile it with -fPIC in your cflags.
Two questions: 1) What's nptl and 2) What does it do?

1) Native POSIX Thread Library

2) Long story very short: It manages threads

A thread is like a task.

Thanks goalie - I'll keep that in mind for my next emerge of kde (i don't really use kde all that much, it's only installed for me to toy around with :p). Is the -fPIC flag smart to use with other packages as well?

Oh, and just wondering about any answers to my questions above :D Doh, I know it hasn't been long since I posted, but I'm bored atm ;)

Thanks !

Well, got mozilla-firebird-cvs working. Awesome. It's much better than 0.7 =)

Was doing a little more research on nptl and found out that ... basically, I apparently don't even need to recompile my kernel. I was sure I saw an NPTL option in there before, but I just took a look at it and couldn't find it again.

So basically then, i just need to install linux-headers, glibc, gcc, binutils w/ nptl, nvidia-glx (heard that you need to re-emerge it), and various stuff that has the nptl USE flag. This seems about right to me, but am I missing something? ;)

Also, it's possible to revert without damaging too much stuff, is it not?

Thanks guys. Sorry for asking so many questions ;)

Well i can't really tellyou any thing other than I use it :-P. Why? well i used Foedora Core 1 and it is used in there, could some one PLEASE tell me why i should use it and if i should use it when i upgrade my Kernel to (from Foedra Default) to 2.6.2

If it's already enabled, you should keep it enabled. If you want a technical explanation of nptl (maybe you will have more luck with it than I did), you can try: http://people.redhat.com/drepper/nptl-design.pdf

Well, I went ahead and took the plunge... recompiled glibc, gcc, binutils with the nptl useflags enabled, as well as any other packages that have the flag. Rebooted, and everything seems to be working fine. Is there any indication I can use to check to see if it's actually working though? ;-)

Thanks!

EDIT:

Thought I'd add this:

U I [ Found these USE variables in : sys-libs/glibc-2.3.3_pre20040117 ]
 + + nls   : unknown
 - - pic   : unknown
 - - build : !!internal use only!! DO NOT SET THIS FLAG YOURSELF!, used for creating build images and the first half of bootstrapping.
 + + nptl  : unknown

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Microsoft releases PowerToys v0.100.1, fixes a bug that made remapped keys misbehave by Ivan Jenic Microsoft just released PowerToys v0.100.1, a patch update that addresses several stability and behavior issues found in v0.100.0. The v0.100.0 patch was a significant update for PowerToys, as it introduced all sorts of new features and additions, such as a rebuilt Shortcut Guide, a Command Palette Extension Gallery, webcam overlay support in ZoomIt, and more. However, the v0.100.0 version also introduced some bugs and stability issues. And now, Microsoft is addressing these issues in the new patch. The most impactful fix in this release perhaps is in Keyboard Manager, where remapped modifier keys were being delivered as system-key events, causing unexpected behavior in apps. The clearest example of this was Alt-to-Backspace remaps, deleting whole words instead of a single character. So, if you thought there was an issue with your keyboard, Microsoft just confirmed that it was PowerToys. Beyond the Keyboard Manager fix, v0.100.1 also addresses several other issues. It fixes a bug with Power Display that was preventing monitors from waking from standby correctly. Additionally, the new update patches Quick Access crashes on launch, and resolves a Shortcut Guide crash that occurred when switching between sidebar sections. Here’s the full changelog: Color Picker Fixed a bug where the main Color Picker window could appear inside the zoomed-in picker view Command Palette Fixed Run history initialization in AOT builds Fixed a bug where the Performance Monitor dock item could show ??? after restart Fixed the Hibernate command using the Sleep icon Limited the "pin to dock" dialog to displays where the dock is enabled Keyboard Manager Fixed modifier keys remapped to non-modifier keys being delivered as system-key events, which caused unexpected behavior in apps such as Alt-to-Backspace deleting whole words Power Display Fixed a bug where selecting On in the monitor power-state control did not wake a monitor from standby Fixed built-in display detection and brightness control on dual-GPU laptops where the internal panel is driven by the discrete GPU PowerToys Run Fixed VS Code Workspaces discovery after VS Code moved recently opened workspace data to shared storage Quick Access Fixed Quick Access flyout crashes caused by unhandled XAML exceptions during launch or page navigation Shortcut Guide Fixed a crash when navigating between Shortcut Guide sidebar sections Fixed number-key rendering in shortcut manifests and added a Postman shortcut manifest Updated bundled shortcut manifests to use the literal number-key token so number keys render correctly across apps ZoomIt Fixed a race condition in audio initialization for ZoomIt video recording You can download PowerToys v0.100.1 from the official GitHub releases page.
    • OBS Studio 32.2.0 Beta 2 by Razvan Serea OBS Studio is software designed for capturing, compositing, encoding, recording, and streaming video content, efficiently. It is the re-write of the widely used Open Broadcaster Software, to allow even more features and multi-platform support. OBS Studio supports multiple sources, including media files, games, web pages, application windows, webcams, your desktop, microphone and more. OBS Studio Features: High performance real time video/audio capturing and mixing, with unlimited scenes you can switch between seamlessly via custom transitions. Live streaming to Twitch, YouTube, Periscope, Mixer, GoodGame, DailyMotion, Hitbox, VK and any other RTMP server Filters for video sources such as image masking, color correction, chroma/color keying, and more. x264, H.264 and AAC for your live streams and video recordings Intel Quick Sync Video (QSV) and NVIDIA NVENC support Intuitive audio mixer with per-source filters such as noise gate, noise suppression, and gain. Take full control with VST plugin support. GPU-based game capture for high performance game streaming Unlimited number of scenes and sources Number of different and customizable transitions for when you switch between scenes Hotkeys for almost any action such as start or stop your stream or recording, push-to-talk, fast mute of any audio source, show or hide any video source, switch between scenes,and much more Live preview of any changes on your scenes and sources using Studio Mode before pushing them to your stream where your viewers will see those changes DirectShow capture device support (webcams, capture cards, etc) Powerful and easy to use configuration options. Add new Sources, duplicate existing ones, and adjust their properties effortlessly. Streamlined Settings panel for quickly configuring your broadcasts and recordings. Switch between different profiles with ease. Light and dark themes available to fit your environment. …and many other features. For free. At all. OBS Studio 32.2.0 Beta 2 changelog: Beta 2 Changes Fixed a CI deployment issue. There are no application changes since Beta 1. 32.2 New Features Replaced add source dropdown with new dialog [Warchamp7] Improved FPS selector UX [jcm93] Added missing file support for filters [exeldro] Added ability for plugins to set custom icons for new source types [cg2121] Included .webp files when adding a directory to Image Slide Show source [TarunCore] Added copy paste functions to frontend API [exeldro] Added filter to compose SDR into HDR [jpark37] Added delete as a hotkey to delete sources on macOS [PatTheMav] Added dynamic bitrate support to multitrack video [lexano-ivs] 32.2 Changes Forced Intel-based installations to update to Apple Silicon version on macOS [PatTheMav] This change means that OBS Studio versions built for Intel-based Macs but running on Apple Silicon Macs will automatically update to OBS Studio built for Apple Silicon Macs. If an installation was using third-party plugins, those plugins will no longer load until replaced with Apple Silicon versions. Fixed audio mixer state getting out of sync when changing settings via websockets or plugins [Warchamp7] Added theming for checked QToolButtons [glikely] Improved OpenGL performance slightly on low-end machines [kkartaltepe] Set minimum size for color source to 1 pixel [exeldro] Added minimum width to spinboxes [Warchamp7] Disallowed overwriting the crash handler [sebastian-s-beckmann] Applied process mitigation policies for Windows [notr1ch] Adjusted description of multitrack video [jhnbwrs] Changed new capture devices to use fallback frame rate by default [PatTheMav] Improved DLL loading behavior on Windows [notr1ch] Limited multitrack video config to Custom service [PatTheMav] 32.2 Bug Fixes Fixed OAuth and dock state save corruption [PatTheMav] Fixed group bounds not resizing when removing items [howellrl] Fixed canvas mixes not being restored after video reset [dsaedtler] Fixed some erroneous crashes during shutdown [Warchamp7] Fixed display capture sometimes capturing black after a duplicator failure [ThrowTop] Fixed color of controls dock output buttons in System theme [shiina424] Fixed virtual camera reset failures [stephematician] Fixed potential crash when user discards changes in the settings window [suogesi] Fixed incorrect return value in virtualcam filter [xtfo] Fixed source toolbar buttons not working after dragging a source into a group [Warchamp7] Fixed properties hint icon spacing [Warchamp7] Fixed potential crash when a video device reconnects on macOS [jcm93] Fixed an issue where PipeWire could fail on NVIDIA GPUs [hoshinolina] Fixed obs_canvas_get_video_info returning incorrect framerate [dsaedtler] 32.2 Deprecations Deprecated obs_properties_add_button [sebastian-s-beckmann] Download: OBS Studio 32.2.0 Beta 2 | Portable | ARM64 | ~200.0 MB (Open Source) View: OBS Studio Homepage | Other Operating Systems | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • Is a fast food restaurant a good metric to compare against?
    • Grand Theft Auto VI pricing revealed alongside Ultimate Edition and pre-loading details by Pulasthi Ariyasinghe Last week, Rockstar revealed Grand Theft Auto VI pre-orders will be starting soon, and just a day ahead of that, now the studio has announced the official pricing for the highly anticipated game. This has been a hotly debated topic among fans and industry veterans for a long time, considering the game is expected to be the biggest entertainment product launch ever. The confirmed pricing for the Grand Theft Auto VI standard edition is $79.99, which Rockstar says gives access to the "single-player experience set in the biggest, most immersive evolution of the series yet." This follows what most of our readers thought would happen with the pricing too. At the same time, a $99.99 Grand Theft Auto VI: Ultimate Edition has been confirmed as well, which lands with "an exclusive collection of premium vehicles, weapons, apparel, and action threaded across all aspects of Jason and Lucia’s story." Pre-ordering will also give fans extra bonuses, including a Vintage Vice City Pack of cosmetic items as well as a free month of GTA+. Head to the official website of the game here to check out all the cosmetic rewards the Ultimate Edition and pre-orders bring. Interestingly, the studio does not mention Grand Theft Auto VI multiplayer at all in today's announcement. Perhaps this will arrive later, following the campaign launch, or the studio is keeping that reveal for a later date. Digital pre-orders for Grand Theft Auto VI will begin on June 25, 2026, at midnight local time across regions for Xbox Series X|S and PlayStation 5. The title is slated to launch on November 19 on those same platforms. Pre-loading for Grand Theft Auto VI will kick off on November 12, giving players a week to get the game ready on their consoles. As for the physical edition, Take-Two has confirmed that this will be available without a disc, with the box only containing a download code inside. This will be purchasable starting November 12, giving players who take this route time to pre-load the title as well.
  • Recent Achievements

    • One Year In
      OHI Accounting earned a badge
      One Year In
    • First Post
      Almohandis earned a badge
      First Post
    • Rookie
      DaviKar went up a rank
      Rookie
    • Dedicated
      HidekoYamamoto94 earned a badge
      Dedicated
    • One Month Later
      timbobit earned a badge
      One Month Later
  • Popular Contributors

    1. 1
      +primortal
      474
    2. 2
      +Edouard
      172
    3. 3
      PsYcHoKiLLa
      122
    4. 4
      Michael Scrip
      83
    5. 5
      Xenon
      72
  • Tell a friend

    Love Neowin? Tell a friend!