mjg (Mateusz Guzik)
nice guy

Projects

User Details

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

Recent Activity

Sun, Sep 10

mjg committed rS323393: Move vmmeter atomic counters into dedicated cache lines.
Move vmmeter atomic counters into dedicated cache lines
Sun, Sep 10, 7:01 PM
mjg closed D12281: Move vmmeter atomic counters into dedicated cache lines.
Sun, Sep 10, 7:01 PM
mjg added a comment to D12281: Move vmmeter atomic counters into dedicated cache lines.
-       u_int v_free_count;     /* (f) pages free */
        u_int v_inactive_target; /* (c) pages desired inactive */
        u_int v_pageout_free_min;   /* (c) min pages reserved for kernel */
        u_int v_interrupt_free_min; /* (c) reserved pages for int code */
        u_int v_free_severe;    /* (c) severe page depletion point */
+       u_int v_free_count VMMETER_ALIGNED;     /* (f) pages free */
        u_int v_wire_count VMMETER_ALIGNED; /* (a) pages wired down */
Sun, Sep 10, 6:24 PM
mjg updated the diff for D12281: Move vmmeter atomic counters into dedicated cache lines.

Updated the diff to only move counters to the end + pad them.

Sun, Sep 10, 3:53 PM
mjg committed rS323385: namecache: clean up struct namecache_ts handling.
namecache: clean up struct namecache_ts handling
Sun, Sep 10, 11:18 AM

Sat, Sep 9

mjg added a comment to D12281: Move vmmeter atomic counters into dedicated cache lines.

Annotating mid-struct has 2 problems:

  • creates unnecessary holes between stuff prior to and after the counter, i.e. the cacheline preceeding the padded field can have free space which is now unused. extreme case in point, v_inactive_target is getting sandwiched between 2 annotated fields (see below)
  • the annotation sets the alignment of the field itself, but does not prevent following fields from placed immediately afterwards. once more case in point with v_inactive_target
Sat, Sep 9, 3:59 PM
mjg committed rS323346: Fix riscv and powerpc compilation after r323329..
Fix riscv and powerpc compilation after r323329.
Sat, Sep 9, 5:56 AM

Fri, Sep 8

mjg updated the summary of D12281: Move vmmeter atomic counters into dedicated cache lines.
Fri, Sep 8, 9:53 PM
mjg created D12281: Move vmmeter atomic counters into dedicated cache lines.
Fri, Sep 8, 9:50 PM
mjg committed rS323329: Allow __builtin_memset instead of bzero for small buffers of known size.
Allow __builtin_memset instead of bzero for small buffers of known size
Fri, Sep 8, 8:09 PM
mjg committed rS323308: namecache: fold the unlock label into the only consumer.
namecache: fold the unlock label into the only consumer
Fri, Sep 8, 6:57 AM
mjg committed rS323307: namecache: factor out dot lookup into a dedicated function.
namecache: factor out dot lookup into a dedicated function
Fri, Sep 8, 6:51 AM
mjg committed rS323306: Annotate Giant with __exclusive_cache_line.
Annotate Giant with __exclusive_cache_line
Fri, Sep 8, 6:46 AM
mjg committed rS323305: Annotate global process locks with __exclusive_cache_line.
Annotate global process locks with __exclusive_cache_line
Fri, Sep 8, 6:46 AM

Wed, Sep 6

mjg committed rS323246: vxge: plug void casts from memcpy/memzero calls.
vxge: plug void casts from memcpy/memzero calls
Wed, Sep 6, 9:38 PM
mjg committed rS323236: Sprinkle __read_frequently on few obvious places..
Sprinkle __read_frequently on few obvious places.
Wed, Sep 6, 8:33 PM
mjg committed rS323235: Introduce __read_frequently.
Introduce __read_frequently
Wed, Sep 6, 8:33 PM
mjg committed rS323234: Start annotating global _padalign locks with __exclusive_cache_line.
Start annotating global _padalign locks with __exclusive_cache_line
Wed, Sep 6, 8:28 PM

Mon, Sep 4

mjg accepted D12220: acpi/srat: zero the SRAT cpu array.
Mon, Sep 4, 9:55 AM

Mon, Aug 28

mjg added a comment to D12132: Avoid spinning in random_harvest_queue.

since this is a spin mutex even failed trylock adds a trip through disabling/enabling preemption + interrupts. add a cacheline fetch. "fortunately" it so happens that spin trylock does not dirty it if it sees a taken lock. this is slow.

Mon, Aug 28, 10:47 PM

Aug 2 2017

mjg committed rS321922: amd64: annotate the syscall return address check with __predict_false.
amd64: annotate the syscall return address check with __predict_false
Aug 2 2017, 11:25 AM

Jul 31 2017

mjg committed rS321814: Add myself to the calendar..
Add myself to the calendar.
Jul 31 2017, 8:15 PM
mjg added inline comments to D11585: free tables upon fd_growtable.
Jul 31 2017, 2:15 AM

Jul 19 2017

mjg requested changes to D11585: free tables upon fd_growtable.

There is definitely something messed up. Now there is no diff at all, but just a patched file. I don't know this tooling so can't you with it. Regardless, I can still provide comments.

Jul 19 2017, 9:14 AM

Jul 15 2017

mjg requested changes to D11585: free tables upon fd_growtable.

This does not look like a diff against head, for instance it includes the freeing of the old table.

Jul 15 2017, 10:20 AM

Jul 14 2017

mjg added a comment to D11585: free tables upon fd_growtable.

This looks much better overall.

Jul 14 2017, 9:36 PM
mjg added a comment to D11585: free tables upon fd_growtable.

I don't see what's the benefit of having the callers of fdgrowtable decide whether the old table can be freed. If you are worried about the case where a multithreaded process forks, that's covered by the first comment in the function about fd_lastfile == -1. This remark aside, the patch checks for correct things but does it wrong. :)

Jul 14 2017, 2:50 AM
mjg added a comment to D10188: Use 256 run queues, with 1 priority per queue.

I have no basis to comment on this patch. I suggest you contact jeffr@.

Jul 14 2017, 2:20 AM

Jul 11 2017

mjg committed rS320885: Remove waiters check from the inline rw wunlock routine..
Remove waiters check from the inline rw wunlock routine.
Jul 11 2017, 3:46 AM

Jul 6 2017

mjg committed rS320756: MFC r293295:.
MFC r293295:
Jul 6 2017, 10:04 PM

Jul 2 2017

mjg committed rS320561: rwlock: perform the typically false td_rw_rlocks check later.
rwlock: perform the typically false td_rw_rlocks check later
Jul 2 2017, 1:05 AM

Jun 1 2017

mjg committed rS319452: MFC r319167:.
MFC r319167:
Jun 1 2017, 6:40 PM

May 30 2017

mjg committed rS319167: mtx: fix whitespace damage in _mtx_trylock_flags_.
mtx: fix whitespace damage in _mtx_trylock_flags_
May 30 2017, 2:26 AM

May 16 2017

mjg committed rS318367: MFC r317784:.
MFC r317784:
May 16 2017, 7:35 PM

May 4 2017

mjg committed rS317784: cache: stop holding the ncneg_hot lock across purging.
cache: stop holding the ncneg_hot lock across purging
May 4 2017, 3:12 AM

Mar 24 2017

mjg committed rS315895: MFC r305383:.
MFC r305383:
Mar 24 2017, 8:06 AM

Mar 23 2017

mjg committed rS315874: MFC r312932,r312933,r312949,r313141.
MFC r312932,r312933,r312949,r313141
Mar 23 2017, 10:22 PM

Mar 16 2017

mjg committed rS315401: MFC r312600,r312601,r312602,r312606,r312646:.
MFC r312600,r312601,r312602,r312606,r312646:
Mar 16 2017, 9:17 AM
mjg committed rS315400: MFC r309425,r312645,r312598,r312621:.
MFC r309425,r312645,r312598,r312621:
Mar 16 2017, 8:51 AM
mjg committed rS315399: MFC r312723:.
MFC r312723:
Mar 16 2017, 8:41 AM
mjg committed rS315398: MFC r312889:.
MFC r312889:
Mar 16 2017, 8:39 AM
mjg committed rS315397: MFC r312981:.
MFC r312981:
Mar 16 2017, 8:38 AM
mjg committed rS315396: MFC r312980:.
MFC r312980:
Mar 16 2017, 8:37 AM
mjg committed rS315395: MFC r309784,r309783:.
MFC r309784,r309783:
Mar 16 2017, 8:35 AM
mjg committed rS315394: MFC,r313855,r313865,r313875,r313877,r313878,r313901,r313908,r313928,r313944….
MFC,r313855,r313865,r313875,r313877,r313878,r313901,r313908,r313928,r313944…
Mar 16 2017, 8:29 AM
mjg committed rS315393: MFC r313472:.
MFC r313472:
Mar 16 2017, 8:00 AM
mjg committed rS315392: MFC r311168,r311171:.
MFC r311168,r311171:
Mar 16 2017, 7:51 AM
mjg committed rS315391: MFC r313874:.
MFC r313874:
Mar 16 2017, 7:46 AM
mjg committed rS315389: MFC r313453:.
MFC r313453:
Mar 16 2017, 7:20 AM
mjg committed rS315386: MFC r313853,r313859:.
MFC r313853,r313859:
Mar 16 2017, 7:10 AM
mjg committed rS315382: MFC r313467:.
MFC r313467:
Mar 16 2017, 7:06 AM
mjg committed rS315381: MFC r313455:.
MFC r313455:
Mar 16 2017, 6:56 AM
mjg committed rS315380: MFC r313454,r313472:.
MFC r313454,r313472:
Mar 16 2017, 6:54 AM
mjg committed rS315379: MFC r313392,r313784:.
MFC r313392,r313784:
Mar 16 2017, 6:51 AM
mjg committed rS315378: MFC r313275,r313280,r313282,r313335:.
MFC r313275,r313280,r313282,r313335:
Mar 16 2017, 6:45 AM
mjg committed rS315377: MFC r313269,r313270,r313271,r313272,r313274,r313278,r313279,r313996,r314474.
MFC r313269,r313270,r313271,r313272,r313274,r313278,r313279,r313996,r314474
Mar 16 2017, 6:36 AM
mjg committed rS315375: MFC r313683:.
MFC r313683:
Mar 16 2017, 6:14 AM
mjg committed rS315374: MFC r313391:.
MFC r313391:
Mar 16 2017, 6:12 AM
mjg committed rS315373: MFC r313268:.
MFC r313268:
Mar 16 2017, 6:04 AM
mjg committed rS315372: MFC r313260:.
MFC r313260:
Mar 16 2017, 6:03 AM
mjg committed rS315371: MFC r311169,r311898,r312925,r312973,r312975,r313007,r313040,r313080,.
MFC r311169,r311898,r312925,r312973,r312975,r313007,r313040,r313080,
Mar 16 2017, 6:00 AM
mjg committed rS315341: MFC r311172,r311194,r311226,r312389,r312390:.
MFC r311172,r311194,r311226,r312389,r312390:
Mar 16 2017, 1:33 AM
mjg committed rS315340: MFC r305671:.
MFC r305671:
Mar 16 2017, 1:04 AM
mjg committed rS315339: MFC r312890,r313386,r313390:.
MFC r312890,r313386,r313390:
Mar 16 2017, 12:51 AM

Mar 14 2017

mjg committed rS315285: MFC r312724,r312901,r312902:.
MFC r312724,r312901,r312902:
Mar 14 2017, 8:43 PM
mjg committed rS315284: MFC r312888:.
MFC r312888:
Mar 14 2017, 8:39 PM

Mar 1 2017

mjg added a comment to D9649: Enable VNET operations for ifconfig and route.

I think the jail_attach interface is fundamentally unsuitable for this purpose. The problem is the process appears in the jail.

Mar 1 2017, 12:00 PM · network
mjg committed rS314476: locks: fix compilation with KTR wihout KTR_LOCKS.
locks: fix compilation with KTR wihout KTR_LOCKS
Mar 1 2017, 5:18 AM
mjg committed rS314474: locks: ensure proper barriers are used with atomic ops when necessary.
locks: ensure proper barriers are used with atomic ops when necessary
Mar 1 2017, 5:06 AM

Feb 23 2017

mjg committed rS314185: mtx: microoptimize lockstat handling in spin mutexes and thread lock.
mtx: microoptimize lockstat handling in spin mutexes and thread lock
Feb 23 2017, 10:46 PM

Feb 20 2017

mjg committed rS313996: mtx: fix spin mutexes interaction with failed fcmpset.
mtx: fix spin mutexes interaction with failed fcmpset
Feb 20 2017, 7:08 PM

Feb 19 2017

mjg committed rS313944: locks: make trylock routines check for 'unowned' value.
locks: make trylock routines check for 'unowned' value
Feb 19 2017, 4:29 PM

Feb 18 2017

mjg committed rS313928: locks: clean up trylock primitives.
locks: clean up trylock primitives
Feb 18 2017, 10:06 PM
mjg committed rS313908: mtx: plug the 'opts' argument when not used.
mtx: plug the 'opts' argument when not used
Feb 18 2017, 1:52 AM

Feb 17 2017

mjg committed rS313901: sx: fix mips builld after r313855.
sx: fix mips builld after r313855
Feb 17 2017, 10:10 PM
mjg committed rS313878: mtx: get rid of file/line args from slow paths if they are unused.
mtx: get rid of file/line args from slow paths if they are unused
Feb 17 2017, 3:40 PM
mjg committed rS313877: mtx: restrict r313875 to kernels without LOCK_PROFILING.
mtx: restrict r313875 to kernels without LOCK_PROFILING
Feb 17 2017, 3:35 PM
mjg committed rS313875: mtx: microoptimize lockstat handling in __mtx_lock_sleep.
mtx: microoptimize lockstat handling in __mtx_lock_sleep
Feb 17 2017, 2:56 PM
mjg committed rS313874: Make inline lockstat checks just inspect lockstat_enabled.
Make inline lockstat checks just inspect lockstat_enabled
Feb 17 2017, 2:06 PM
mjg committed rS313865: sx: fix compilation on UP kernels after r313855.
sx: fix compilation on UP kernels after r313855
Feb 17 2017, 10:58 AM
mjg committed rS313859: Introduce SCHEDULER_STOPPED_TD for use when the thread pointer was already read.
Introduce SCHEDULER_STOPPED_TD for use when the thread pointer was already read
Feb 17 2017, 6:45 AM
mjg committed rS313855: locks: let primitives for modules unlock without always goging to the slsow path.
locks: let primitives for modules unlock without always goging to the slsow path
Feb 17 2017, 5:39 AM
mjg committed rS313853: locks: remove SCHEDULER_STOPPED checks from primitives for modules.
locks: remove SCHEDULER_STOPPED checks from primitives for modules
Feb 17 2017, 5:10 AM

Feb 15 2017

mjg committed rS313784: rwlock: tidy up r313392.
rwlock: tidy up r313392
Feb 15 2017, 11:33 PM

Feb 12 2017

mjg committed rS313683: lockmgr: implement fast path.
lockmgr: implement fast path
Feb 12 2017, 9:49 AM

Feb 9 2017

mjg committed rS313472: rwlock: fix r313454.
rwlock: fix r313454
Feb 9 2017, 1:32 PM
mjg committed rS313467: locks: tidy up unlock fallback paths.
locks: tidy up unlock fallback paths
Feb 9 2017, 8:19 AM

Feb 8 2017

mjg committed rS313455: sx: implement slock/sunlock fast path.
sx: implement slock/sunlock fast path
Feb 8 2017, 7:29 PM
mjg committed rS313454: rwlock: implemenet rlock/runlock fast path.
rwlock: implemenet rlock/runlock fast path
Feb 8 2017, 7:28 PM
mjg committed rS313453: Implement LOCKSTAT_OOL_PROFILE_ENABLED.
Implement LOCKSTAT_OOL_PROFILE_ENABLED
Feb 8 2017, 7:26 PM

Feb 7 2017

mjg committed rS313392: rwlock: implement RW_LOCK_WRITER_RECURSED bit.
rwlock: implement RW_LOCK_WRITER_RECURSED bit
Feb 7 2017, 5:04 PM
mjg committed rS313391: Bump struct thread alignment to 32..
Bump struct thread alignment to 32.
Feb 7 2017, 5:03 PM
mjg committed rS313390: locks: follow up r313386.
locks: follow up r313386
Feb 7 2017, 4:01 PM
mjg committed rS313386: locks: change backoff to exponential.
locks: change backoff to exponential
Feb 7 2017, 2:50 PM

Feb 6 2017

mjg committed rS313335: locks: fix recursion support after recent changes.
locks: fix recursion support after recent changes
Feb 6 2017, 9:40 AM

Feb 5 2017

mjg committed rS313282: rwlock: move lockstat handling out of inline primitives.
rwlock: move lockstat handling out of inline primitives
Feb 5 2017, 1:37 PM
mjg committed rS313280: sx: move lockstat handling out of inline primitives.
sx: move lockstat handling out of inline primitives
Feb 5 2017, 9:54 AM
mjg committed rS313279: mtx: fixup r313278, the assignemnt was supposed to go inside the loop.
mtx: fixup r313278, the assignemnt was supposed to go inside the loop
Feb 5 2017, 9:53 AM
mjg committed rS313278: mtx: fix up _mtx_obtain_lock_fetch usage in thread lock.
mtx: fix up _mtx_obtain_lock_fetch usage in thread lock
Feb 5 2017, 9:35 AM
mjg committed rS313275: mtx: move lockstat handling out of inline primitives.
mtx: move lockstat handling out of inline primitives
Feb 5 2017, 8:04 AM