All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paul Gortmaker <paul.gortmaker@windriver.com>
To: linux-rt-users@vger.kernel.org
Cc: rostedt@goodmis.org
Subject: RT points of interest associated with 2.6.27-rcN
Date: Wed, 1 Oct 2008 09:23:21 -0400	[thread overview]
Message-ID: <20081001132319.GA4531@windriver.com> (raw)


I didn't get a chance to cover any random technical items, discussion
points, or my to do list in the previous e-mail where I gave a heads
up to folks that the 1st cut of the patches for 2.6.27 existed.  So here
are some of the things I encountered when carrying things forward:


-2.6.21-rc6-lockless6-speculative-get-page.patch essentially got merged
 upstream as commit e286781, but they differ in that e286781 used
 an optimization of setting page_count to zero instead of introducing
 the PG_nonewrefs bit.  Since the PG_nonewrefs bit is used in other
 patches within the series, and since it wasn't clear to me how or
 whether the optimization using page_count would be valid in RT
 context, I left the PG_nonewrefs bit in the patches (actually in
 lock_page_ref.patch) for now.  I'll have to read the code more before
 I'll be 100% confident I understand what the right approach is here.

-the rt-list-mods.patch was partly merged upstream via commit 7d283aee,
 with the exception of the one-line lib/lock_list.c change and the
 splice2 operations; I've retained those additional chunks in this
 patch file.

-ftrace tip merge/update; when I started working with 26rt6, there was
 still considerable work being done for ftrace upstream; hence I set the
 ftrace-upstream.patch aside, rather than carry it through the rc1..rc8
 series and end up dropping already applied bits all along the way.
 Now things are at rc8, I need to go back now and see what parts of
 ftrace-upstream.patch are present and what needs to be added in.

-preempt-realtime-i386.patch used to roll back FIRST_SYSTEM_VECTOR from
 0xef -> 0xee, but commit 305b92a2 seems to give this a dynamic "rewind"
 capability vs. a hard compile time default, so I believe we don't
 need the 0xef -> 0xee anymore.

-preempt-realtime-x86_64.patch seems to orphan the io_apic_sync()
 function.  If it truly has no users, we could consider removing it
 as part of this patch.

-the schedule_on_each_cpu-enhance.patch seems to essentially be reverting
 the commit 8de6d30 where they replace set_bit+queue_work with
 schedule_work_on() -- need to go back and look again to confirm/deny.

-the no-warning-for-irqs-disabled-in-local-bh-enable.patch gets broken
 by commit 0f476b6d, and the comments in that commit seem to indicate
 that this can't happen anymore -- but I'm not sure those comments are
 valid in RT context.  I'll keep this in mind when doing more testing.

-the spinlock.h code in 27rcX is using typecheck() in spinlock.h, in
 the places where the RT patches were doing the same within the macro
 BUILD_CHECK_IRQ_FLAGS(); so I left it using the upstream, rather than
 re-introducing the BUILD_CHECK_IRQ_FLAGS() macro.

-commit 0d71d10a breaks the example /dev/rmem driver that was patched in
 for doing the JVM conformance test by getting rid of the nopfn capability.
 The fix/update wasn't immediately obvious to me, so I set it aside for
 the moment, given that it doesn't appear to be key to the core functionality
 of the patch set in general.

-commit db70089 adds flush_work(), which knows nothing about PI workqueues,
 and the adaptation of barriers.  I added rt-wq-flush_work.patch on the end
 of the series, rather than contaminate existing patches with my changes, but
 once a fix is agreed on, it would go in rt-workqeue-prio.patch after review.

-PF_HARDIRQ and PF_SOFTIRQ; the number of vacant slots is dwindling, e.g.
 PF_THREAD_BOUND bumped one of the above; it would be good if we could
 claim spots for these upstream before there are no spots left.

-drivers/base/class.c goes after __mutex_init() instead of mutex_init()
 which in RT-land, isn't what it used to be; I want to look at this further
 and determine why it didn't use mutex_init() to begin with.

-testing on non-x86;  I've booted x86 but didn't have access to real non-x86
 hardware last week on account of being away, so I've only verified that it
 would cross compile for powerpc.  I'd like to test the waters with an
 ARM and a powerpc at least sometime this week.

-wider driver testing; The config I tested on the old P4 box had a minimal
 .config file.  For example, I did notice that IRQ handler of the ehci (USB)
 driver was doing something non-RT compatible, and I expect there to be 
 several other drivers also needing attention.

So that is about it.  I'll keep folks posted on patch updates and anything
else I trip over that I think is of general interest.

Paul.

                 reply	other threads:[~2008-10-01 13:23 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=20081001132319.GA4531@windriver.com \
    --to=paul.gortmaker@windriver.com \
    --cc=linux-rt-users@vger.kernel.org \
    --cc=rostedt@goodmis.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.