mjg (Mateusz Guzik)
nice guy

Projects

User Details

User Since
Jun 4 2014, 10:38 AM (194 w, 4 d)

Recent Activity

Yesterday

mjg committed rS329985: Don't generate data in sysctl_out_proc unless we intend to copy out..
Don't generate data in sysctl_out_proc unless we intend to copy out.
Sun, Feb 25, 3:17 PM

Thu, Feb 22

mjg committed rS329837: Fix up sysctl vfs.buffercache broken in r329612.
Fix up sysctl vfs.buffercache broken in r329612
Thu, Feb 22, 8:39 PM

Tue, Feb 20

mjg committed rS329666: mtx: add debug assertions to mtx_spin_wait_unlocked.
mtx: add debug assertions to mtx_spin_wait_unlocked
Tue, Feb 20, 8:39 PM
mjg committed rS329660: Fix reaping on process fd close broken after r329449.
Fix reaping on process fd close broken after r329449
Tue, Feb 20, 8:20 PM
mjg committed rS329639: Make killpg1 perform process validity checks without proc lock held..
Make killpg1 perform process validity checks without proc lock held.
Tue, Feb 20, 10:52 AM
mjg committed rS329615: Reduce contention on the proctree lock during heavy package build..
Reduce contention on the proctree lock during heavy package build.
Tue, Feb 20, 2:18 AM

Mon, Feb 19

mjg committed rS329542: Fix process exit vs reap race introduced in r329449.
Fix process exit vs reap race introduced in r329449
Mon, Feb 19, 12:54 AM
mjg committed rS329540: mtx: add mtx_spin_wait_unlocked.
mtx: add mtx_spin_wait_unlocked
Mon, Feb 19, 12:38 AM

Sun, Feb 18

mjg committed rS329531: exit: get rid of PROC_SLOCK when checking a process to report, take #2.
exit: get rid of PROC_SLOCK when checking a process to report, take #2
Sun, Feb 18, 9:07 PM

Sat, Feb 17

mjg committed rS329461: Revert r329448..
Revert r329448.
Sat, Feb 17, 5:24 PM
mjg committed rS329451: Undo LOCK_PROFILING pessimisation after r313454 and r313455.
Undo LOCK_PROFILING pessimisation after r313454 and r313455
Sat, Feb 17, 12:07 PM
mjg committed rS329449: exit: stop doing PROC_SLOCK just to call proc_reap.
exit: stop doing PROC_SLOCK just to call proc_reap
Sat, Feb 17, 9:03 AM
mjg committed rS329448: exit: get rid of PROC_SLOCK when checking a process to report.
exit: get rid of PROC_SLOCK when checking a process to report
Sat, Feb 17, 8:49 AM
mjg committed rS329422: On process exit signal the parent after dropping the proctree lock..
On process exit signal the parent after dropping the proctree lock.
Sat, Feb 17, 12:25 AM
mjg committed rS329421: Unref the prison after proctree is dropped..
Unref the prison after proctree is dropped.
Sat, Feb 17, 12:24 AM
mjg committed rS329420: Postpone sx_sunlock(&proctree_lock) on fork until after allproc is dropped..
Postpone sx_sunlock(&proctree_lock) on fork until after allproc is dropped.
Sat, Feb 17, 12:23 AM
mjg committed rS329419: Tidy up kern_wait6.
Tidy up kern_wait6
Sat, Feb 17, 12:22 AM

Fri, Feb 16

mjg committed rS329381: MFC r324610:.
MFC r324610:
Fri, Feb 16, 4:16 PM
mjg committed rS329380: MFC r327875,r327905,r327914:.
MFC r327875,r327905,r327914:
Fri, Feb 16, 4:08 PM
mjg committed rS329379: MFC r327874:.
MFC r327874:
Fri, Feb 16, 4:05 PM

Thu, Feb 15

mjg committed rS329297: xen: fix smp boot after r328157.
xen: fix smp boot after r328157
Thu, Feb 15, 7:24 AM

Wed, Feb 14

mjg committed rS329276: rwlock: diff-reduction of runlock compared to sx sunlock.
rwlock: diff-reduction of runlock compared to sx sunlock
Wed, Feb 14, 8:37 PM

Jan 13 2018

mjg committed rS327914: sx: retry hard shared unlock just like in r327905 for rwlocks.
sx: retry hard shared unlock just like in r327905 for rwlocks
Jan 13 2018, 9:26 AM
mjg committed rS327905: rwlock: try regular read unlock even in the hard path.
rwlock: try regular read unlock even in the hard path
Jan 13 2018, 12:05 AM

Jan 12 2018

mjg added a comment to D13892: Record ticks in td_swvoltick after sched_switch() returns.

I think the condition is fishy. Why would it matter whether the thread gave up the CPU voluntarily when deciding whether to yield? I suspect it makes much more sense to check when it got on cpu in general. In particular a non-voluntary long sleep followed by checking only invol ticks will easily give a false-positive: the thread was not doing anything for quite some time and is now about to yield to to stop being a hog?

Jan 12 2018, 11:40 PM
mjg committed rS327875: mtx: use fcmpset to cover setting MTX_CONTESTED.
mtx: use fcmpset to cover setting MTX_CONTESTED
Jan 12 2018, 1:41 PM
mjg committed rS327874: vfs: tidy up vdrop.
vfs: tidy up vdrop
Jan 12 2018, 1:39 PM

Jan 6 2018

mjg added a comment to D13766: Introduce mallocarray() in the kernel.

Arguably in the kernel it is a programming error to pass such args to malloc in the first place. Even if the args happen to not overflow, resulting size can be extremely high and that was not intended. I.e. the real thing the code should do is sanity check first with some kind of upper cap.

Jan 6 2018, 2:13 AM

Jan 2 2018

mjg committed rS327501: MFC r324328:.
MFC r324328:
Jan 2 2018, 8:22 PM
mjg committed rS327481: MFC r325924:.
MFC r325924:
Jan 2 2018, 12:15 AM
mjg committed rS327480: MFC r324867,r324869:.
MFC r324867,r324869:
Jan 2 2018, 12:12 AM
mjg committed rS327478: MFC r324335,r327393,r327397,r327401,r327402:.
MFC r324335,r327393,r327397,r327401,r327402:
Jan 2 2018, 12:02 AM

Jan 1 2018

mjg committed rS327477: MFC r327394,r327395:.
MFC r327394,r327395:
Jan 1 2018, 11:45 PM

Dec 31 2017

mjg committed rS327415: MFC r324045:.
MFC r324045:
Dec 31 2017, 5:16 AM
mjg committed rS327414: MFC r324328:.
MFC r324328:
Dec 31 2017, 5:15 AM
mjg committed rS327413: MFC r320561,r323236,r324041,r324314,r324609,r324613,r324778,r324780,r324787,.
MFC r320561,r323236,r324041,r324314,r324609,r324613,r324778,r324780,r324787,
Dec 31 2017, 5:06 AM
mjg committed rS327412: MFC r325725:.
MFC r325725:
Dec 31 2017, 4:09 AM
mjg committed rS327411: MFC r323307,r323308,r323385,r324378,r325266,r325268,r325433,r325451,r325456,.
MFC r323307,r323308,r323385,r324378,r325266,r325268,r325433,r325451,r325456,
Dec 31 2017, 4:06 AM
mjg committed rS327409: MFC r323235,r323236,r324789,r324863:.
MFC r323235,r323236,r324789,r324863:
Dec 31 2017, 3:35 AM
mjg committed rS327407: MFC r324547:.
MFC r324547:
Dec 31 2017, 3:17 AM
mjg committed rS327406: MFC r324127:.
MFC r324127:
Dec 31 2017, 3:16 AM
mjg committed rS327404: MFC r323234,r323305,r323306,r324044:.
MFC r323234,r323305,r323306,r324044:
Dec 31 2017, 3:06 AM
mjg committed rS327403: MFC r321922:.
MFC r321922:
Dec 31 2017, 2:48 AM
mjg committed rS327402: locks: adjust loop limit check when waiting for readers.
locks: adjust loop limit check when waiting for readers
Dec 31 2017, 2:31 AM
mjg committed rS327401: sx: fix up non-smp compilation after r327397.
sx: fix up non-smp compilation after r327397
Dec 31 2017, 2:00 AM
mjg committed rS327399: locks: re-check the reason to go to sleep after locking sleepq/turnstile.
locks: re-check the reason to go to sleep after locking sleepq/turnstile
Dec 31 2017, 12:47 AM
mjg committed rS327397: sx: read the SX_NOADAPTIVE flag and Giant ownership only once.
sx: read the SX_NOADAPTIVE flag and Giant ownership only once
Dec 31 2017, 12:38 AM
mjg committed rS327395: mtx: deduplicate indefinite wait check in spinlocks and thread lock.
mtx: deduplicate indefinite wait check in spinlocks and thread lock
Dec 31 2017, 12:34 AM
mjg committed rS327394: mtx: pre-read the lock value in thread_lock_flags_.
mtx: pre-read the lock value in thread_lock_flags_
Dec 31 2017, 12:33 AM
mjg committed rS327393: rwlock: tidy up __rw_runlock_hard similarly to r325921.
rwlock: tidy up __rw_runlock_hard similarly to r325921
Dec 31 2017, 12:31 AM

Dec 27 2017

mjg abandoned D12888: Remove object_collapses and object_bypasses counters.
Dec 27 2017, 9:32 PM

Dec 23 2017

mjg added a comment to D12889: Remove entropy harvesting from tmpfs atime.

on kernels i tested harvest_context happens to be aligned at cache size. then hc_source_mask occupies the same line as beginning of the hc_entropy_ring:

Dec 23 2017, 4:00 AM

Nov 27 2017

mjg added a comment to D13267: Export extattr_*vp() functions to allow to use it in the linuxulator in future .

I think the 'td' argument should be dropped first. It is presumably always curthread. Part of it is that this change pushes the arg num to 7, which is more than what is passable in registers in sysv abi on amd64.

Nov 27 2017, 9:04 PM

Nov 26 2017

mjg committed rS326237: rw: fix runlock_hard when new readers show up.
rw: fix runlock_hard when new readers show up
Nov 26 2017, 9:11 PM

Nov 25 2017

mjg committed rS326200: Add the missing lockstat check for thread lock..
Add the missing lockstat check for thread lock.
Nov 25 2017, 8:49 PM
mjg committed rS326199: Convert in-kernel thread_lock_flags calls to thread_lock when debug is disabled.
Convert in-kernel thread_lock_flags calls to thread_lock when debug is disabled
Nov 25 2017, 8:37 PM
mjg committed rS326198: rwlock: fix up compilation of the previous change.
rwlock: fix up compilation of the previous change
Nov 25 2017, 8:26 PM
mjg committed rS326197: rwlock: add __rw_try_{r,w}lock_int.
rwlock: add __rw_try_{r,w}lock_int
Nov 25 2017, 8:23 PM
mjg committed rS326196: sx: change sunlock to wake waiters up if it locked sleepq.
sx: change sunlock to wake waiters up if it locked sleepq
Nov 25 2017, 8:14 PM
mjg committed rS326195: locks: retry turnstile/sleepq loops on failed cmpset.
locks: retry turnstile/sleepq loops on failed cmpset
Nov 25 2017, 8:10 PM
mjg committed rS326194: rwlock: stop re-reading the owner when going to sleep.
rwlock: stop re-reading the owner when going to sleep
Nov 25 2017, 8:08 PM

Nov 23 2017

mjg committed rS326112: sx: unbreak debug after r326107.
sx: unbreak debug after r326107
Nov 23 2017, 3:40 AM
mjg committed rS326111: rwlock: unbreak WITNESS builds after r326110.
rwlock: unbreak WITNESS builds after r326110
Nov 23 2017, 3:20 AM

Nov 22 2017

mjg committed rS326110: rwlock: don't check for curthread's read lock count in the fast path.
rwlock: don't check for curthread's read lock count in the fast path
Nov 22 2017, 11:52 PM
mjg committed rS326107: locks: pass the found lock value to unlock slow path.
locks: pass the found lock value to unlock slow path
Nov 22 2017, 10:04 PM
mjg committed rS326106: locks: remove the file + line argument from internal primitives when not used.
locks: remove the file + line argument from internal primitives when not used
Nov 22 2017, 9:51 PM

Nov 21 2017

mjg added a comment to D13179: Add "Pull Request" to the devel/subversion commit template.

while here can you add 'tested by' and 'discussed with'?

Nov 21 2017, 3:41 AM

Nov 17 2017

mjg committed rS325963: locks: fix compilation issues without SMP or KDTRACE_HOOKS.
locks: fix compilation issues without SMP or KDTRACE_HOOKS
Nov 17 2017, 11:27 PM
mjg committed rS325958: lockmgr: remove the ADAPTIVE_LOCKMGRS option.
lockmgr: remove the ADAPTIVE_LOCKMGRS option
Nov 17 2017, 8:41 PM
mjg added a comment to D12132: Avoid spinning in random_harvest_queue.

Does this patch really make sense to go in?

Nov 17 2017, 6:09 PM
mjg committed rS325925: mtx: add missing parts of the diff in r325920.
mtx: add missing parts of the diff in r325920
Nov 17 2017, 2:59 AM
mjg committed rS325924: sched: move panic handling code out of choosethread.
sched: move panic handling code out of choosethread
Nov 17 2017, 2:46 AM
mjg committed rS325923: Check for PRS_NEW without locking the proc in sysctl_kern_proc.
Check for PRS_NEW without locking the proc in sysctl_kern_proc
Nov 17 2017, 2:29 AM
mjg committed rS325922: sx: perform a minor cleanup of the unlock slowpath.
sx: perform a minor cleanup of the unlock slowpath
Nov 17 2017, 2:27 AM
mjg committed rS325921: rwlock: unlock before traversing threads to wake up.
rwlock: unlock before traversing threads to wake up
Nov 17 2017, 2:26 AM
mjg committed rS325920: mtx: unlock before traversing threads to wake up.
mtx: unlock before traversing threads to wake up
Nov 17 2017, 2:25 AM
mjg committed rS325919: locks: pull up PMC_SOFT_CALLs out of slow path loops.
locks: pull up PMC_SOFT_CALLs out of slow path loops
Nov 17 2017, 2:23 AM
mjg committed rS325918: rwlock: avoid branches in the slow path if lockstat is disabled.
rwlock: avoid branches in the slow path if lockstat is disabled
Nov 17 2017, 2:21 AM
mjg committed rS325917: sx: avoid branches if in the slow path if lockstat is disabled.
sx: avoid branches if in the slow path if lockstat is disabled
Nov 17 2017, 2:21 AM

Nov 12 2017

mjg committed rS325734: amd64: stop nesting preemption counter in spinlock_enter.
amd64: stop nesting preemption counter in spinlock_enter
Nov 12 2017, 3:13 AM
mjg committed rS325733: Use passed thread pointer instead of curthread in sys_sched_yield.
Use passed thread pointer instead of curthread in sys_sched_yield
Nov 12 2017, 2:34 AM

Nov 11 2017

mjg committed rS325726: Avoid locking and refing in sysctl_kern_proc_args if possible..
Avoid locking and refing in sysctl_kern_proc_args if possible.
Nov 11 2017, 10:39 PM
mjg committed rS325725: sysctl: try to avoid malloc in name2oid.
sysctl: try to avoid malloc in name2oid
Nov 11 2017, 9:50 PM
mjg committed rS325722: Use pfind_any in linux_rt_sigqueueinfo and kern_sigqueue.
Use pfind_any in linux_rt_sigqueueinfo and kern_sigqueue
Nov 11 2017, 6:10 PM
mjg committed rS325721: Add pfind_any.
Add pfind_any
Nov 11 2017, 6:05 PM
mjg committed rS325720: Avoid allproc lock in pfind if curproc->pid == pid.
Avoid allproc lock in pfind if curproc->pid == pid
Nov 11 2017, 6:03 PM
mjg committed rS325719: Remove useless proc lookup from sysctl_out_proc.
Remove useless proc lookup from sysctl_out_proc
Nov 11 2017, 6:02 PM
mjg committed rS325706: rwlock: use fcmpset for setting RW_LOCK_WRITE_SPINNER.
rwlock: use fcmpset for setting RW_LOCK_WRITE_SPINNER
Nov 11 2017, 9:34 AM

Nov 7 2017

mjg accepted D12972: sysctl_kern_proc_umask: fast path when operating on curproc.
Nov 7 2017, 3:51 PM
mjg requested changes to D12972: sysctl_kern_proc_umask: fast path when operating on curproc.

For consistency this should also remove SLOCK/SUNLOCK in the lookup case, otherwise LGTM.

Nov 7 2017, 3:51 PM

Nov 6 2017

mjg committed rS325469: rwlock: fix up compilation without KDTRACE_HOOKS after r324787.
rwlock: fix up compilation without KDTRACE_HOOKS after r324787
Nov 6 2017, 5:14 AM

Nov 5 2017

mjg committed rS325458: namecache: bump numcache after dropping all locks.
namecache: bump numcache after dropping all locks
Nov 5 2017, 10:30 PM
mjg committed rS325456: namecache: wlock buckets in cache_lookup_nomakeentry.
namecache: wlock buckets in cache_lookup_nomakeentry
Nov 5 2017, 10:29 PM
mjg committed rS325451: namecache: skip locking in cache_lookup_nomakeentry if there is no entry.
namecache: skip locking in cache_lookup_nomakeentry if there is no entry
Nov 5 2017, 10:00 PM
mjg committed rS325433: namecache: skip locking in cache_purge_negative if there are no entries.
namecache: skip locking in cache_purge_negative if there are no entries
Nov 5 2017, 8:31 AM

Nov 3 2017

mjg accepted D12814: Introduce EVENTHANDLER_LIST_* and some users..
Nov 3 2017, 7:44 PM
mjg committed rS325368: Special-case pget lookups where pid == curproc->pid.
Special-case pget lookups where pid == curproc->pid
Nov 3 2017, 7:22 PM
mjg closed D12929: pget: don't acquire allproc_lock when operating on curproc.
Nov 3 2017, 7:22 PM
mjg accepted D12929: pget: don't acquire allproc_lock when operating on curproc.
Nov 3 2017, 4:08 PM
mjg added a comment to D12929: pget: don't acquire allproc_lock when operating on curproc.

As the name suggests CPUCLOCK_WHICH_PID only wants to match pids. Thus the _NOTID flag is passed to avoid the corner case of *tid* being passed and matching an existing thread.

Nov 3 2017, 3:09 PM