[LITMUS^RT] Proposed Feather-Trace / P-FP patches and misc fixes

Björn Brandenburg bbb at mpi-sws.org
Fri Oct 19 18:05:10 CEST 2012


Hi everyone,

I've pushed a couple of prop/ branches with cleaned-up RTAS work. All of the below patches are compile-tested and, at least before rebasing, ran fine on my machine.

1) https://github.com/LITMUS-RT/litmus-rt/commits/prop/sync-release

	d245619 Remove complete_n() API
	56faaa8 Re-implement synchronous task set release support

This branch reworks how Litmus does synchronous releases, which in the old implementation could cause latency spikes under partitioned schedulers.

2) https://github.com/LITMUS-RT/litmus-rt/commits/prop/fdso-cleanup

	4cb2ad2 FDSO: make sure fdso_close() is called during task teardown

This patch simply ensures that the destructors for semaphores are called when tasks "forget" to close them before termination.

3) https://github.com/LITMUS-RT/litmus-rt/commits/prop/feather-trace

This branch adds a lot of improvements to Feather-Trace overhead tracing.

	d940d73 Move SEND_RESCHED tracing to preempt.c
	ce313ac Move SCHED2 trace points to post_schedule()

The above two patches move trace points around. SCHED2 was at the wrong place, and SEND_RESCHED should be easier to maintain now.

The following patches improve detection of outliers due to interrupts and preemptions. As a result, it is no longer needed to use statistical outlier filtering (more details in Section V of https://www.mpi-sws.org/~bbb/papers/pdf/preprint-LP-locking-analysis.pdf). I'll push the matching changes to feather-trace-tools soon.

	a481c27 Feather-Trace: hide irq in SEND_RESCHED_END
	a13904d Trace IPI-related IRQs with ft_irq_fired()
	1ae3a8f Mark feather-trace buffers as "disturbed" on soft IRQs
	b1a59c1 Make Feather-Trace timestamp collection non-preemptive
	00b4b17 Use user-provided irq count for TS_SYSCALL_IN_END
	173e46b Export IRQ count to control page
	80e2d84 Feather-Trace: add support for locking-related syscall overheads
	5454446 Feather-Trace: update locking timestamps
	7b84800 Feather-Trace: keep track of PID in trace record

Finally, the following patch allows access to ftdev devices from multiple tasks.

	676bcd5 ftdev: don't hold lock while sleeping

4) https://github.com/LITMUS-RT/litmus-rt/commits/prop/pfp-fixes

This is collection of fixes and cleanups in the P-FP plugin.

	f0785d8 P-FP: be less permissive about non-running tasks in queue
	9e6b747 P-FP: be paranoid in the preemption case
	3e49128 P-FP: use proper CONFIG_ symbol
	057dcfd P-FP: prevent misuse of priority queue
	3e4922f P-FP: simplify priority comparison
	a5797a7 P-FP: simplify boost_priority()
	3ede287 P-FP: record job release records for tardy tasks

Please have a look the proposed patches over the next week or so (after the EuroSys deadline).  If there are no objections, I'd like to merge these changes soon.

Thanks,
Björn







More information about the litmus-dev mailing list