diff for duplicates of <54B41FB1.2010406@redhat.com> diff --git a/a/1.txt b/N1/1.txt index 0a4e92e..306a676 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -64,19 +64,3 @@ https://github.com/pratyushanand/linux/commits/ml_arm64_uprobe_devel_debug_kprob If the problem is due to the irq being enabled and then an irq handler re-enabling the flag, it would be possible to use a systemtap script to monitor the irq_handler_entry and irq_handler_exit tracepoints to see if PSTATE.D is gettting cleared. Maybe something like the attached script. This script isn't using the kprobe support, so should avoid the problematic interactions between kprobes and uprobes. -Will Cohen --------------- next part -------------- -global pstated - -function masked_dflag:long(f) { return ((f & 1 << 9) != 0) } - -probe irq_handler.entry { - // Record if pstate.d is masked - pstated[cpu(), irq] = masked_dflag(flags) -} - -probe irq_handler.exit { - if ((!masked_dflag(flags)) && pstated[cpu(), irq]) { - printf("d flag unmasked in irq %d(%s)\n", irq, kernel_string(dev_name)); - } - delete pstated[cpu(), irq] -} diff --git a/N1/2.hdr b/N1/2.hdr new file mode 100644 index 0000000..2a612e0 --- /dev/null +++ b/N1/2.hdr @@ -0,0 +1,5 @@ +Content-Type: text/plain; charset=UTF-8; + name="irq_pstated.stp" +Content-Transfer-Encoding: 7bit +Content-Disposition: attachment; + filename="irq_pstated.stp" diff --git a/N1/2.txt b/N1/2.txt new file mode 100644 index 0000000..18d82ee --- /dev/null +++ b/N1/2.txt @@ -0,0 +1,15 @@ +global pstated + +function masked_dflag:long(f) { return ((f & 1 << 9) != 0) } + +probe irq_handler.entry { + // Record if pstate.d is masked + pstated[cpu(), irq] = masked_dflag(flags) +} + +probe irq_handler.exit { + if ((!masked_dflag(flags)) && pstated[cpu(), irq]) { + printf("d flag unmasked in irq %d(%s)\n", irq, kernel_string(dev_name)); + } + delete pstated[cpu(), irq] +} diff --git a/a/content_digest b/N1/content_digest index ea6122d..7b68926 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -4,11 +4,17 @@ "ref\020150109154635.GG11258@arm.com\0" "ref\054B00C39.1070809@redhat.com\0" "ref\020150112173005.GK13360@arm.com\0" - "From\0wcohen@redhat.com (William Cohen)\0" - "Subject\0Query: ARM64: Behavior of el1_dbg exception while executing el0_dbg\0" + "From\0William Cohen <wcohen@redhat.com>\0" + "Subject\0Re: Query: ARM64: Behavior of el1_dbg exception while executing el0_dbg\0" "Date\0Mon, 12 Jan 2015 14:25:37 -0500\0" - "To\0linux-arm-kernel@lists.infradead.org\0" - "\00:1\0" + "To\0Will Deacon <will.deacon@arm.com>" + " Pratyush Anand <panand@redhat.com>\0" + "Cc\0linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org>" + Steve Capper <steve.capper@linaro.org> + David Long <dave.long@linaro.org> + linux-arm-kernel@lists.infradead.org <linux-arm-kernel@lists.infradead.org> + " Oleg Nesterov <oleg@redhat.com>\0" + "\01:1\0" "b\0" "On 01/12/2015 12:30 PM, Will Deacon wrote:\n" "> On Fri, Jan 09, 2015 at 05:13:29PM +0000, Pratyush Anand wrote:\n" @@ -75,8 +81,10 @@ "\n" "If the problem is due to the irq being enabled and then an irq handler re-enabling the flag, it would be possible to use a systemtap script to monitor the irq_handler_entry and irq_handler_exit tracepoints to see if PSTATE.D is gettting cleared. Maybe something like the attached script. This script isn't using the kprobe support, so should avoid the problematic interactions between kprobes and uprobes.\n" "\n" - "-Will Cohen\n" - "-------------- next part --------------\n" + -Will Cohen + "\01:2\0" + "fn\0irq_pstated.stp\0" + "b\0" "global pstated\n" "\n" "function masked_dflag:long(f) { return ((f & 1 << 9) != 0) }\n" @@ -93,4 +101,4 @@ " delete pstated[cpu(), irq]\n" } -47ed6b197e277f9c0d9bc48936c376cea0d96bcf266ac79290923e8eebb48957 +054c8d03ead119a521d22ffbb4a4c434b63b929a4c0304f5c5a16ea66dadbba3
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.