This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: Functions that require interrupts be enabled
- From: fche at redhat dot com (Frank Ch. Eigler)
- To: Mike Mason <mmlnx at us dot ibm dot com>
- Cc: SystemTAP <systemtap at sources dot redhat dot com>
- Date: 15 May 2007 20:49:47 -0400
- Subject: Re: Functions that require interrupts be enabled
- References: <464A352A.8010608@us.ibm.com>
Mike Mason <mmlnx@us.ibm.com> writes:
> I want to add a function to the task.stp tapset file that grabs a
> process' arguments from its user address space.
OK.
> We couldn't do this before because all probes ran with interrupts
> disabled and couldn't sleep.
Why must this new routine be permitted to sleep? We can tolerate
paged-out data via soft errors (=> blank strings).
> Now that begin/end probes no longer require that interrupts be
> disabled, this function can be used in begin/end probes at least.
AFAIK, interrupts being enabled is not exactly the same thing as being
able to sleep.
Not that this is a good idea, but:
> How do I prevent the function from being used in other probes? Is
> there a way to detect if interrupts are disabled
in_interrupt()
> or detect that the function was called from a begin/end probe?
CONTEXT->probe_point
> Do we even want to provide functions with this type of limitation?
Not really.
- FChE