public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Roland McGrath <roland@redhat.com>
To: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Oleg Nesterov <oleg@redhat.com>,
	caiqian@redhat.com, Heiko Carstens <heiko.carstens@de.ibm.com>,
	Jan Kratochvil <jkratoch@redhat.com>,
	linux-kernel@vger.kernel.org, linux-s390@vger.kernel.org,
	utrace-devel@redhat.com
Subject: Re: s390 && user_enable_single_step() (Was: odd utrace testing results on s390x)
Date: Thu,  7 Jan 2010 13:32:33 -0800 (PST)	[thread overview]
Message-ID: <20100107213233.B49807300@magilla.sf.frob.com> (raw)
In-Reply-To: Martin Schwidefsky's message of  Thursday, 7 January 2010 10:00:50 +0100 <20100107100050.31724463@mschwide.boeblingen.de.ibm.com>

> > Right.  That means we should leave the status quo of not clearing
> > TIF_SINGLE_STEP in user_disable_single_step.
> 
> Ok, although it seems a bit strange not to do it. Perhaps I should add a
> comment about it.

It doesn't seem strange to me, but then I've just been through all this.
user_*_step is about what the task will do next.  TIF_SINGLE_STEP is about
what the task has done recently.  Of course more good comments always help.
I might be inclined to change the name of TIF_SINGLE_STEP so that its true
purpose is more obvious.  

AFAICT, in fact it is not even about single-step per se.  It means some PER
trap happened and should produce SIGTRAP.  Don't you get the same thing if
you haven't used single-step, but instead used PTRACE_POKEUSR to set up
per_struct with bits that say to trigger for some other reason?

How about calling it TIF_PER_PENDING?

> So after everthing has been converted to utrace we always will load the
> control registers in FixPerRegisters.

Right.  (This could well still change in the future.  But that's how it is
in utrace now.  And regardless of possible future implementation changes it
will always be the case that sometimes it will be called on current.)

> We could use the same compare of the control registers as the code in
> __switch_to. See below.

Yes, sounds good.

> The PSW_MASK_PER is the "global" PER enablement switch, the PER_EM_MASK
> bits enable the different PER events. We check for the PER_EM_MASK bits
> because it is easier to access in __switch_to. The return PSW is stored
> in the pt_regs structure, we would have to get a pointer to it (what
> "regs = task_pt_regs(taks)" does in FixPerRegisters). In
> FixPerRegisters we can as well use the PSW_MASK_PER bit.

I see.  Thanks for the explanation.


Thanks,
Roland

  reply	other threads:[~2010-01-07 21:32 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1503844142.2061111261478093776.JavaMail.root@zmail06.collab.prod.int.phx2.redhat.com>
     [not found] ` <1257887498.2061171261478252049.JavaMail.root@zmail06.collab.prod.int.phx2.redhat.com>
2010-01-04 15:52   ` s390 && user_enable_single_step() (Was: odd utrace testing results on s390x) Oleg Nesterov
2010-01-04 16:16     ` Martin Schwidefsky
2010-01-04 18:14       ` Oleg Nesterov
2010-01-04 19:30         ` Oleg Nesterov
2010-01-04 21:11         ` Roland McGrath
2010-01-05  9:50           ` Martin Schwidefsky
2010-01-05 15:36             ` Oleg Nesterov
2010-01-05 15:46               ` Martin Schwidefsky
2010-01-05 15:59                 ` Oleg Nesterov
2010-01-05 17:03                   ` Oleg Nesterov
2010-01-05 19:58                     ` Oleg Nesterov
2010-01-06 14:59                       ` Heiko Carstens
2010-01-06 20:17                       ` Oleg Nesterov
2010-01-06 21:13                         ` Roland McGrath
2010-01-07  9:18                           ` Martin Schwidefsky
2010-01-07 17:54                             ` Oleg Nesterov
2010-01-07 21:48                               ` Roland McGrath
2010-01-21 20:51                                 ` Oleg Nesterov
2010-01-26 13:13                                   ` Martin Schwidefsky
2010-01-07 21:46                             ` Roland McGrath
2010-01-08  8:30                               ` Martin Schwidefsky
2010-01-08 10:25                                 ` Roland McGrath
2010-01-05 15:47               ` Oleg Nesterov
2010-01-05 15:50                 ` Martin Schwidefsky
2010-01-06 21:08               ` Roland McGrath
2010-01-07  9:16                 ` Martin Schwidefsky
2010-01-07 18:16                   ` Oleg Nesterov
2010-01-07 21:44                     ` Roland McGrath
2010-01-08  8:34                     ` Martin Schwidefsky
2010-01-07 21:41                   ` Roland McGrath
2010-01-07 18:11                 ` Oleg Nesterov
2010-01-06 20:23             ` Oleg Nesterov
2010-01-06 20:56             ` Roland McGrath
2010-01-07  9:00               ` Martin Schwidefsky
2010-01-07 21:32                 ` Roland McGrath [this message]
2010-01-21 20:32                 ` Oleg Nesterov
2010-01-05  9:26         ` Martin Schwidefsky
2010-01-06 21:15           ` Roland McGrath
2010-01-04 20:46       ` Roland McGrath
     [not found] <1158952983.251101262791902387.JavaMail.root@zmail06.collab.prod.int.phx2.redhat.com>
2010-01-06 15:33 ` caiqian
2010-01-06 20:09   ` Oleg Nesterov

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=20100107213233.B49807300@magilla.sf.frob.com \
    --to=roland@redhat.com \
    --cc=caiqian@redhat.com \
    --cc=heiko.carstens@de.ibm.com \
    --cc=jkratoch@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=oleg@redhat.com \
    --cc=schwidefsky@de.ibm.com \
    --cc=utrace-devel@redhat.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox