RT points of interest associated with 2.6.27-rcN

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.
--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux