Page MenuHomeFreeBSD

badger (Eric Badger)
User

Projects

User Details

User Since
Oct 12 2015, 9:33 PM (187 w, 5 d)

Recent Activity

May 23 2017

badger committed rS318743: move p_sigqueue to the end of struct proc.
move p_sigqueue to the end of struct proc
May 23 2017, 12:41 PM
badger closed D10843: move p_sigqueue to the end of struct proc by committing rS318743: move p_sigqueue to the end of struct proc.
May 23 2017, 12:41 PM

May 21 2017

badger created D10843: move p_sigqueue to the end of struct proc.
May 21 2017, 4:10 PM

May 12 2017

badger accepted D10684: Add a regression test for r318191.
May 12 2017, 5:40 PM
badger added inline comments to D10684: Add a regression test for r318191.
May 12 2017, 1:04 AM

May 11 2017

badger removed a member for manpages: badger.
May 11 2017, 5:42 PM

Apr 27 2017

badger committed rS317529: Move td_sigqueue to the end of struct thread.
Move td_sigqueue to the end of struct thread
Apr 27 2017, 10:29 PM
badger closed D10515: Move td_sigqueue to the end of struct thread by committing rS317529: Move td_sigqueue to the end of struct thread.
Apr 27 2017, 10:29 PM
badger accepted D10526: Add asserts to verify stability of struct proc and struct thread layouts..
Apr 27 2017, 4:56 PM
badger added a comment to D10515: Move td_sigqueue to the end of struct thread.
In D10515#217891, @jhb wrote:

Also, to be clear, this would just be a direct commit to stable/{10,11}, it would not go into HEAD.

Apr 27 2017, 1:58 PM

Apr 26 2017

badger updated the summary of D10515: Move td_sigqueue to the end of struct thread.
Apr 26 2017, 9:07 PM
badger created D10515: Move td_sigqueue to the end of struct thread.
Apr 26 2017, 9:06 PM

Mar 25 2017

badger committed rS315963: MFC r315412, r314852:.
MFC r315412, r314852:
Mar 25 2017, 8:14 PM
badger committed rS315949: MFC r313992, r314075, r314118, r315484:.
MFC r313992, r314075, r314118, r315484:
Mar 25 2017, 1:33 PM

Mar 18 2017

badger committed rS315484: ptrace_test: eliminate assumption about thread scheduling.
ptrace_test: eliminate assumption about thread scheduling
Mar 18 2017, 3:26 PM

Mar 16 2017

badger committed rS315412: Don't clear p_ptevents on normal SIGKILL delivery.
Don't clear p_ptevents on normal SIGKILL delivery
Mar 16 2017, 1:03 PM
badger closed D9939: Don't clear p_ptevents on normal SIGKILL delivery by committing rS315412: Don't clear p_ptevents on normal SIGKILL delivery.
Mar 16 2017, 1:03 PM
badger committed rS315345: MFC r313733:.
MFC r313733:
Mar 16 2017, 1:41 AM

Mar 13 2017

badger added a comment to D9987: Add support for syscall::*fork:return tracing in DTrace.

Hmm, if the return is fired here, both parent and child report the same pid (the parent's pid). It would be nice if the child reported its new pid. Why not fire in fork_return() ? One might use td_dbg_sc_code to store which fork variant we should fire the probe for.

Mar 13 2017, 12:57 PM

Mar 11 2017

badger updated the diff for D9939: Don't clear p_ptevents on normal SIGKILL delivery.
  • Add kyua test
  • restore SIGKILL: in comment
Mar 11 2017, 4:15 PM
badger added a comment to D9939: Don't clear p_ptevents on normal SIGKILL delivery.
In D9939#205622, @jhb wrote:

It would be nice to add a new test case for this if it isn't too much trouble.

Mar 11 2017, 4:14 PM

Mar 10 2017

badger created D9939: Don't clear p_ptevents on normal SIGKILL delivery.
Mar 10 2017, 3:38 AM

Mar 7 2017

badger committed rS314852: don't stop in issignal() if P_SINGLE_EXIT is set.
don't stop in issignal() if P_SINGLE_EXIT is set
Mar 7 2017, 1:41 PM
badger closed D9890: don't stop in issignal() if P_SINGLE_EXIT is set by committing rS314852: don't stop in issignal() if P_SINGLE_EXIT is set.
Mar 7 2017, 1:41 PM

Mar 6 2017

badger committed rS314719: MFC r313733:.
MFC r313733:
Mar 6 2017, 1:11 AM

Mar 5 2017

badger committed rS314690: remove procfs ctl interface.
remove procfs ctl interface
Mar 5 2017, 3:05 AM
badger closed D9802: remove procfs ctl interface by committing rS314690: remove procfs ctl interface.
Mar 5 2017, 3:05 AM
badger retitled D9890: don't stop in issignal() if P_SINGLE_EXIT is set from to don't stop in issignal() if P_SINGLE_EXIT is set.
Mar 5 2017, 1:57 AM

Feb 27 2017

badger added a comment to D9802: remove procfs ctl interface.
In D9802#202491, @bcr wrote:

OK from the manpages part of the change. Make sure to bump the document date when you commit.
Do we need an entry in ObsoleteFiles.inc for the deleted sys/fs/procfs/procfs_ctl.c ?

Feb 27 2017, 3:22 PM
badger updated the diff for D9802: remove procfs ctl interface.
  • Remove procfs' README file
Feb 27 2017, 3:18 PM

Feb 25 2017

badger retitled D9802: remove procfs ctl interface from to remove procfs ctl interface.
Feb 25 2017, 5:16 PM

Feb 23 2017

badger committed rS314118: Actually fix buildworlds other than i386/amd64/sparc64 after r313992.
Actually fix buildworlds other than i386/amd64/sparc64 after r313992
Feb 23 2017, 4:26 AM

Feb 22 2017

badger committed rS314075: Fix world build for archs where __builtin_debugtrap() does not work..
Fix world build for archs where __builtin_debugtrap() does not work.
Feb 22 2017, 4:35 AM

Feb 20 2017

badger committed rS313992: Defer ptracestop() signals that cannot be delivered immediately.
Defer ptracestop() signals that cannot be delivered immediately
Feb 20 2017, 3:53 PM
badger closed D9260: Defer ptracestop signals that cannot be immediately delivered by committing rS313992: Defer ptracestop() signals that cannot be delivered immediately.
Feb 20 2017, 3:53 PM

Feb 18 2017

badger updated the diff for D9260: Defer ptracestop signals that cannot be immediately delivered.
  • style fix
Feb 18 2017, 3:14 AM

Feb 17 2017

badger added inline comments to D9260: Defer ptracestop signals that cannot be immediately delivered.
Feb 17 2017, 3:46 PM
badger updated the diff for D9260: Defer ptracestop signals that cannot be immediately delivered.
  • Add sq_ptrace
  • check for P_KILLED inside while loop
  • Add tests for full sigqueue and competing stop events
Feb 17 2017, 3:39 PM

Feb 16 2017

badger added inline comments to D9260: Defer ptracestop signals that cannot be immediately delivered.
Feb 16 2017, 2:18 PM

Feb 14 2017

badger committed rS313733: sleepq_catch_signals: do thread suspension before signal check.
sleepq_catch_signals: do thread suspension before signal check
Feb 14 2017, 5:13 PM
badger closed D9530: thread_suspend_check: don't sleep if return_instead is 1 by committing rS313733: sleepq_catch_signals: do thread suspension before signal check.
Feb 14 2017, 5:13 PM
badger added inline comments to D9260: Defer ptracestop signals that cannot be immediately delivered.
Feb 14 2017, 3:34 PM
badger updated the diff for D9260: Defer ptracestop signals that cannot be immediately delivered.
  • Make comparisons against NULL/0 explicit
Feb 14 2017, 1:59 PM
badger added inline comments to D9260: Defer ptracestop signals that cannot be immediately delivered.
Feb 14 2017, 1:58 PM

Feb 13 2017

badger updated the diff for D9260: Defer ptracestop signals that cannot be immediately delivered.
  • Style/spelling corrections
Feb 13 2017, 9:00 PM
badger updated the diff for D9260: Defer ptracestop signals that cannot be immediately delivered.
  • Style/spelling corrections
Feb 13 2017, 8:57 PM
badger added inline comments to D9260: Defer ptracestop signals that cannot be immediately delivered.
Feb 13 2017, 8:55 PM

Feb 12 2017

badger added a comment to D9260: Defer ptracestop signals that cannot be immediately delivered.

John - your PT_KILL tests are in this diff since I've been running with them, but I'll remove them before commit to preserve provenance (unless you ask me otherwise).

Feb 12 2017, 11:46 PM
badger updated the diff for D9260: Defer ptracestop signals that cannot be immediately delivered.

Take a different direction

Feb 12 2017, 11:44 PM

Feb 11 2017

badger updated the diff for D9530: thread_suspend_check: don't sleep if return_instead is 1.
  • thread_suspend_check: don't sleep if return_instead is 1
  • Remove early return that can no longer be hit. Move
  • remove redundant conditional
  • undo thread_suspend_check_changes
  • sleepq_catch_signals: check for suspension before signals
  • Use ternary conditional to save lines (note: wrapped at 80 cols)
Feb 11 2017, 5:15 PM
badger added a comment to D9530: thread_suspend_check: don't sleep if return_instead is 1.

I first tried putting in a loop that would retry the signal check after suspension if TDF_NEEDSIGCHK was true, but that was tricky since TDF_NEEDSIGCHK can be true even when cursig() will return 0 (there is a potential loop that needs to be broken somehow).

Feb 11 2017, 4:37 PM
badger updated the diff for D9530: thread_suspend_check: don't sleep if return_instead is 1.
  • undo thread_suspend_check_changes
  • sleepq_catch_signals: check for suspension before signals
Feb 11 2017, 4:34 PM

Feb 10 2017

badger added a comment to D9530: thread_suspend_check: don't sleep if return_instead is 1.

Perhaps an alternative solution would be to recheck TDF_NEEDSIGCHK after returning from thread_suspend_check(), and only in that case do a ERESTART/EINTR? (just brainstorming)

Feb 10 2017, 8:37 PM
badger updated the diff for D9530: thread_suspend_check: don't sleep if return_instead is 1.
  • remove redundant conditional
Feb 10 2017, 8:31 PM
badger added a comment to D9530: thread_suspend_check: don't sleep if return_instead is 1.

Here is a more detailed description of the problem:

Feb 10 2017, 8:29 PM
badger updated the diff for D9530: thread_suspend_check: don't sleep if return_instead is 1.
  • Remove early return that can no longer be hit. Move general case early return after more specific case.
Feb 10 2017, 7:27 PM
badger added a comment to D9530: thread_suspend_check: don't sleep if return_instead is 1.

Thanks. In fact it seems like this block:

Feb 10 2017, 7:26 PM
badger updated subscribers of D9530: thread_suspend_check: don't sleep if return_instead is 1.
Feb 10 2017, 5:55 PM
badger added a reviewer for D9530: thread_suspend_check: don't sleep if return_instead is 1: kib.
Feb 10 2017, 5:46 PM
badger retitled D9530: thread_suspend_check: don't sleep if return_instead is 1 from to thread_suspend_check: don't sleep if return_instead is 1.
Feb 10 2017, 5:37 PM

Jan 31 2017

badger added a comment to D9260: Defer ptracestop signals that cannot be immediately delivered.

In testing, I find that sending a signal from multiple ptracestop() calls before having a chance to deliver any signals does not work as I'd expect. I now think it would be best, if a ptracestop() call wants to send a new signal to the process but there is already a deferred signal, it should be replaced by the new one.

Jan 31 2017, 5:46 PM
badger added a comment to D9260: Defer ptracestop signals that cannot be immediately delivered.
In D9260#193435, @jhb wrote:

As I said previously, I'm not strongly tied to any particular solution (and was still thinking about what the right solution is). I'm quite happy to defer to kib@'s judgement on not losing signals from ptracestop(). That said, I do think the PT_KILL tests I've added are still relevant and it would be good to verify that those are fixed by this change. (I have some other tests that I need to add to ensure we don't get extra stops for thread exit events if we PT_KILL a multithreaded process as well, but that is orthogonal to this change)

Jan 31 2017, 4:34 PM
badger added a comment to D9260: Defer ptracestop signals that cannot be immediately delivered.
In D9260#192516, @kib wrote:

I think that I have some preference to the patch posted in this review, over the solution where callers of ptracestop() handle further signals. But then, shouldn't ptracestop() clear p_xsig is the signal is posted ?

Jan 31 2017, 4:31 PM

Jan 23 2017

badger added a comment to D9260: Defer ptracestop signals that cannot be immediately delivered.

So in the places where there's a printf now ("Dropping signal from ptracestop") you'd tdsignal() (or some other variant) the return value of ptracestop()? Won't that cause a second, unexpected stop when the time comes to actually act on the signal? (the ptracestop() in kern_sig.c, which, in this review's patch, I skip if there's already a pending signal from the debugger)

Jan 23 2017, 8:24 PM

Jan 20 2017

badger updated the test plan for D9260: Defer ptracestop signals that cannot be immediately delivered.
Jan 20 2017, 4:53 PM
badger updated the test plan for D9260: Defer ptracestop signals that cannot be immediately delivered.
Jan 20 2017, 4:52 PM
badger added a reviewer for D9260: Defer ptracestop signals that cannot be immediately delivered: jhb.
Jan 20 2017, 4:51 PM
badger retitled D9260: Defer ptracestop signals that cannot be immediately delivered from to Defer ptracestop signals that cannot be immediately delivered.
Jan 20 2017, 4:51 PM

Dec 17 2016

badger updated the diff for D8444: Make dumps safe while the scheduler is running.

Optionally stop scheduler when using "reboot -d". I considered a couple of
other options:

Dec 17 2016, 12:21 AM

Nov 23 2016

badger added a comment to D8444: Make dumps safe while the scheduler is running.

Thanks mav. Originally, I'd thought stopping the scheduler when using 'reboot -d' was the correct way. kib and I discussed a bit though, and I was convinced to look for another option ( https://lists.freebsd.org/pipermail/freebsd-hackers/2016-November/050108.html ). Your first bullet would seem to suggest that stopping the scheduler is necessary.

Nov 23 2016, 3:40 PM

Nov 22 2016

badger added a comment to D8444: Make dumps safe while the scheduler is running.

Giving this review a gentle prod in case anyone willing to review might have forgotten about it. I'd also appreciate any suggestions of reviewers if folks in the current set don't have time to review or feel it's outside their area. Thanks.

Nov 22 2016, 5:31 PM

Nov 5 2016

badger added reviewers for D8444: Make dumps safe while the scheduler is running: imp, kib.
Nov 5 2016, 9:27 PM
badger updated the test plan for D8444: Make dumps safe while the scheduler is running.
Nov 5 2016, 9:27 PM

Nov 4 2016

badger retitled D8444: Make dumps safe while the scheduler is running from to Make dumps safe while the scheduler is running.
Nov 4 2016, 8:44 PM

Oct 3 2016

badger added inline comments to D8136: Update the arp(4) man page to document the net.link.ether.inet.garp_rexmit_count sysctl..
Oct 3 2016, 5:51 PM

Sep 24 2016

badger committed rS306298: MFC r305956: Add manpage for rctl_* system calls.
MFC r305956: Add manpage for rctl_* system calls
Sep 24 2016, 10:38 PM

Sep 19 2016

badger committed rS305956: Add manpage for rctl_* system calls.
Add manpage for rctl_* system calls
Sep 19 2016, 2:25 AM
badger closed D7877: Add manpage for rctl_* system calls by committing rS305956: Add manpage for rctl_* system calls.
Sep 19 2016, 2:25 AM

Sep 15 2016

badger updated the diff for D7877: Add manpage for rctl_* system calls.

Minor tweaks:

Sep 15 2016, 3:18 AM

Sep 13 2016

badger added a reviewer for D7877: Add manpage for rctl_* system calls: trasz.
Sep 13 2016, 12:55 PM
badger retitled D7877: Add manpage for rctl_* system calls from to Add manpage for rctl_* system calls.
Sep 13 2016, 12:55 PM

Aug 31 2016

badger committed rS305165: MFC r304652:.
MFC r304652:
Aug 31 2016, 10:19 PM

Aug 30 2016

badger committed rS305063: MFC r304184:.
MFC r304184:
Aug 30 2016, 1:39 PM
badger added inline comments to D7695: Add GARP retransmit capability.
Aug 30 2016, 2:51 AM
badger added inline comments to D7695: Add GARP retransmit capability.
Aug 30 2016, 2:43 AM

Aug 23 2016

badger committed rS304652: Fix missing substitution of @SBINDIR@ in resolvconf scripts.
Fix missing substitution of @SBINDIR@ in resolvconf scripts
Aug 23 2016, 2:06 AM
badger closed D7572: Fix missing substitution of @SBINDIR@ in resolvconf script by committing rS304652: Fix missing substitution of @SBINDIR@ in resolvconf scripts.
Aug 23 2016, 2:06 AM

Aug 22 2016

badger added inline comments to D7572: Fix missing substitution of @SBINDIR@ in resolvconf script.
Aug 22 2016, 1:10 AM

Aug 19 2016

badger added a reviewer for D7572: Fix missing substitution of @SBINDIR@ in resolvconf script: pfg.
Aug 19 2016, 7:41 PM

Aug 18 2016

badger added a reviewer for D7572: Fix missing substitution of @SBINDIR@ in resolvconf script: gjb.
Aug 18 2016, 11:47 PM
badger updated D7572: Fix missing substitution of @SBINDIR@ in resolvconf script.
Aug 18 2016, 11:37 PM
badger updated D7572: Fix missing substitution of @SBINDIR@ in resolvconf script.
Aug 18 2016, 11:36 PM
badger updated the diff for D7572: Fix missing substitution of @SBINDIR@ in resolvconf script.

Remove @PREFIX@.

Aug 18 2016, 11:35 PM
badger retitled D7572: Fix missing substitution of @SBINDIR@ in resolvconf script from to Fix missing substitution of @SBINDIR@ in resolvconf script.
Aug 18 2016, 10:10 PM
badger committed rS304429: MFC r302783:.
MFC r302783:
Aug 18 2016, 2:10 PM

Aug 15 2016

badger committed rS304184: sem_post(): wake up the sleeper only after adjusting has_waiters.
sem_post(): wake up the sleeper only after adjusting has_waiters
Aug 15 2016, 8:09 PM
badger closed D7505: sem_post(): wake up the sleeper after adjusting has_waiters by committing rS304184: sem_post(): wake up the sleeper only after adjusting has_waiters.
Aug 15 2016, 8:09 PM
badger added a reviewer for D7505: sem_post(): wake up the sleeper after adjusting has_waiters: jhb.
Aug 15 2016, 3:49 PM
badger retitled D7505: sem_post(): wake up the sleeper after adjusting has_waiters from Wake up the sleeper after adjusting has_waiters to sem_post(): wake up the sleeper after adjusting has_waiters.
Aug 15 2016, 2:35 PM
badger retitled D7505: sem_post(): wake up the sleeper after adjusting has_waiters from to Wake up the sleeper after adjusting has_waiters.
Aug 15 2016, 2:30 PM