All of lore.kernel.org
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@linux-foundation.org>
To: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Linux 2.6.38-rc1
Date: Tue, 18 Jan 2011 15:54:54 -0800	[thread overview]
Message-ID: <AANLkTimajU0x1v6y3rH2+jr-bZ=tNLs1S_agXdGGAa3S@mail.gmail.com> (raw)

It's been two weeks, and the merge window for 2.6.38 is thus closed.
And an interesting merge window it has been.

This merge window saw the introduction of two of my favorite new features:

 - the use of group scheduling to give nicer interactive behavior in
the presence of "traditional" UNIX loads (ie terminal windows with
heavy loads like a "make -j8" or similar) by giving tty sessions
separate groups (the SCHED_AUTOGROUP config variable)

 - Nick's new (well, "new" - it's been brewing for a long time)
RCU-based path name lookup.

So the autogroup thing is really more of a technical gimmick than
anything else, but it really works very well for the kinds of things
it is designed for. If you still do "real work" in a terminal window,
you're likely to appreciate it. Compile in parallel in one window,
watch a movie in another, and the movie is really smooth. It can be
very noticeable indeed. It's not a panacea, but it's nice for what it
is.

The RCU-based name lookup is at the other end of the spectrum - the
absolute anti-gimmick. It's some seriously good stuff, and gets rid of
the last main global lock that really tends to hurt some kernel loads.
The dentry lock is no longer a big serializing issue. What's really
nice about it is that it actually improves performance a lot even for
single-threaded loads (on an SMP kernel), because it gets rid of some
of the most expensive parts of path component lookup, which was the
d_lock on every component lookup. So I'm seeing improvements of 30-50%
on some seriously pathname-lookup intensive loads.

So last cycle, we got rid of most of the BKL - which was really nice,
but practically speaking it was not a very important lock any more.
This cycle was different: Nick's series (and thanks to everybody else
who helped) really help a very real scalability and performance issue.
And we used to be rather good at pathname lookup before - now we're
just a whole lot better.

Now, those two are my personal favorites, but that's not to say that
you may care. Not all loads are all that name-lookup heavy, and the
scheduler auto-grouping may not matter for you. So to round the thing
up, we have a metric ton of other features, with drivers as usual
accounting for about half of the changes. The most noticeable part
during the merge window was the DRI updates, which caused some pain.
The most obvious fallout of that should all have been fixed, and we
should now have support for the AMD Fusion stuff along with some Fermi
acceleration support. And several updates to the Intel driver too.

But never fear. If you don't care about pathname lookup, scheduling or
graphics cards, I'm sure you can find changes to be excited about,
whatever your area of interest is. SCSI target infrastructure? Or all
the architecture updates (notably ARM and blackfin platform
additions)? Or just the sound and media drivers? Go look at your
favorite area in the git tree, I suspect it has gotten some love.

And as usual, report any regressions to the lists and the appropriate
authorities.

                    Linus

             reply	other threads:[~2011-01-18 23:55 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-18 23:54 Linus Torvalds [this message]
2011-01-19  2:07 ` Linux 2.6.38-rc1 Linus Torvalds
2011-01-19  3:42   ` Justin Mattock
2011-01-19  3:53     ` Linus Torvalds
2011-01-19  4:05       ` Justin Mattock
2011-01-19  5:10       ` nobody
2011-01-19  5:42         ` Linus Torvalds
2011-01-19  5:56           ` Linus Torvalds
2011-01-19 18:07             ` Steven Rostedt
2011-01-19 18:26               ` Linus Torvalds
2011-01-21  3:23           ` tag&track [Re: Linux 2.6.38-rc1] nobody
2011-01-21  8:24             ` Alexey Dobriyan
2011-01-23  8:13   ` Linux 2.6.38-rc1 Török Edwin
2011-01-19  7:39 ` Linux 2.6.38-rc1 doesn't boot Markus Trippelsdorf
2011-01-19  7:46   ` Shaohua Li
2011-01-19  7:55     ` Markus Trippelsdorf
2011-01-19  7:49   ` Markus Trippelsdorf
2011-01-19  8:12     ` Shaohua Li
2011-01-19  8:56       ` H. Peter Anvin
2011-01-19  9:09         ` Ingo Molnar
2011-01-20  2:08           ` Shaohua Li
2011-01-20  3:32             ` Lu, Hongjiu
2011-01-20 11:25             ` Ingo Molnar
2011-01-20 15:08               ` Anvin, H Peter
2011-01-21  7:18                 ` Shaohua Li
2011-01-21  7:55                   ` Shaohua Li
2011-01-21 15:28                   ` H. Peter Anvin
2011-01-21 15:37                     ` Lu, Hongjiu
2011-01-21 21:09                       ` Ingo Molnar
2011-01-19  9:33         ` [tip:x86/urgent] Revert "x86: Make relocatable kernel work with new binutils" tip-bot for Ingo Molnar
2011-01-20  4:59     ` Linux 2.6.38-rc1 doesn't boot Alexandre Courbot
2011-01-19  8:39 ` PPS parport boot lockup: INFO: HARDIRQ-READ-safe -> HARDIRQ-READ-unsafe lock order detected Ingo Molnar
2011-01-20 13:04   ` Alexander Gordeev
2011-01-21 14:44   ` Alexander Gordeev
2011-01-21 16:37     ` Linus Torvalds
2011-01-21 19:43       ` Ingo Molnar
2011-01-24 23:28         ` Alexander Gordeev
2011-01-24 23:46         ` [PATCH] pps: claim parallel port exclusively Alexander Gordeev
2011-01-25  0:19           ` Ingo Molnar
2011-01-24 15:00       ` PPS parport boot lockup: INFO: HARDIRQ-READ-safe -> HARDIRQ-READ-unsafe lock order detected Alexander Gordeev
2011-01-24 15:12   ` [PATCH] parport: make lockdep happy with waitlist_lock Alexander Gordeev
2011-01-24 15:28     ` Ingo Molnar
2011-01-24 15:33       ` Alexander Gordeev
2011-01-19 12:02 ` percpu related boot crash on x86 (was: Linux 2.6.38-rc1) Ingo Molnar
2011-01-19 12:44   ` Tejun Heo
2011-01-19 12:48   ` Peter Zijlstra
2011-01-19 12:56     ` Pekka Enberg
2011-01-19 13:12       ` Peter Zijlstra
2011-01-19 13:13       ` Tejun Heo
2011-01-19 20:53         ` Ingo Molnar
2011-01-19 23:11           ` Ingo Molnar
2011-01-20  8:31             ` percpu related boot crash on x86 Pekka Enberg
2011-01-20 10:47               ` Peter Zijlstra
2011-01-20 11:12                 ` Eric Dumazet
2011-01-20 11:19                   ` Tejun Heo
2011-01-20 11:06   ` [PATCH 1/2] lockdep: move early boot local IRQ enable/disable status to init/main.c Tejun Heo
2011-01-20 11:07     ` [PATCH 2/2] smp: allow on_each_cpu() to be called while early_boot_irqs_disabled " Tejun Heo
2011-01-20 20:22       ` [tip:core/urgent] smp: Allow " tip-bot for Tejun Heo
2011-01-20 11:11     ` [PATCH 1/2] lockdep: move early boot local IRQ enable/disable " Tejun Heo
2011-01-20 11:23       ` Peter Zijlstra
2011-01-20 11:26         ` Tejun Heo
2011-01-20 11:30           ` Pekka Enberg
2011-01-20 11:38           ` Peter Zijlstra
2011-01-20 12:00       ` Ingo Molnar
2011-01-20 12:20         ` [PATCH UPDATED " Tejun Heo
2011-01-20 11:51     ` [PATCH " Ingo Molnar
2011-01-20 20:21     ` [tip:core/urgent] lockdep: Move " tip-bot for Tejun Heo
2011-01-19 21:40 ` Linux 2.6.38-rc1 Alan Cox
2011-01-21 15:30   ` Aaro Koskinen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='AANLkTimajU0x1v6y3rH2+jr-bZ=tNLs1S_agXdGGAa3S@mail.gmail.com' \
    --to=torvalds@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.