Page MenuHomeFreeBSD

mjg (Mateusz Guzik)
nice guy

Projects

User Details

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

Recent Activity

Today

mjg accepted D17461: truss: handle shm_open's special SHM_ANON value better..
Tue, Oct 16, 3:20 AM

Sun, Oct 14

mjg committed rS339355: zfs: fix a panic after failed mount.
zfs: fix a panic after failed mount
Sun, Oct 14, 4:14 PM

Sat, Oct 13

mjg committed rS339349: amd64: partially depessimize cpu_fetch_syscall_args and cpu_set_syscall_retval.
amd64: partially depessimize cpu_fetch_syscall_args and cpu_set_syscall_retval
Sat, Oct 13, 9:18 PM
mjg closed D17542: amd64: partially depessimize cpu_fetch_syscall_args and cpu_set_syscall_retval.
Sat, Oct 13, 9:18 PM
mjg committed rS339348: amd64: convert libc bcopy to a C func to avoid future bloat.
amd64: convert libc bcopy to a C func to avoid future bloat
Sat, Oct 13, 9:17 PM
mjg closed D17539: amd64: convert libc bcopy to a C func to avoid future bloat.
Sat, Oct 13, 9:17 PM
mjg closed D17538: amd64: import updated kernel memmove to libc.
Sat, Oct 13, 9:16 PM
mjg committed rS339347: amd64: import updated kernel memmove to libc.
amd64: import updated kernel memmove to libc
Sat, Oct 13, 9:16 PM
mjg retitled D17549: amd64: convert libc bzero to a C func to avoid future bloat from amd64: convert libc bcopy to a C func to avoid future bloat to amd64: convert libc bzero to a C func to avoid future bloat .
Sat, Oct 13, 7:20 PM
mjg created D17549: amd64: convert libc bzero to a C func to avoid future bloat .
Sat, Oct 13, 7:20 PM
mjg added inline comments to D17538: amd64: import updated kernel memmove to libc.
Sat, Oct 13, 6:50 PM
mjg updated the diff for D17542: amd64: partially depessimize cpu_fetch_syscall_args and cpu_set_syscall_retval.

I did not commit set retval due to the freeze.

Sat, Oct 13, 6:34 PM
mjg updated the diff for D17539: amd64: convert libc bcopy to a C func to avoid future bloat.
Sat, Oct 13, 6:18 PM
mjg updated the diff for D17538: amd64: import updated kernel memmove to libc.
  • drop extra fbsd tag
  • reword the attribution comment
Sat, Oct 13, 6:13 PM
mjg updated the summary of D17542: amd64: partially depessimize cpu_fetch_syscall_args and cpu_set_syscall_retval.
Sat, Oct 13, 8:44 AM
mjg updated the diff for D17542: amd64: partially depessimize cpu_fetch_syscall_args and cpu_set_syscall_retval.
  • also depessimize cpu_set_syscall_retval
Sat, Oct 13, 8:42 AM

Fri, Oct 12

mjg committed rS339341: capsicum: provide cap_rights_fde_inline.
capsicum: provide cap_rights_fde_inline
Fri, Oct 12, 11:48 PM
mjg created D17542: amd64: partially depessimize cpu_fetch_syscall_args and cpu_set_syscall_retval.
Fri, Oct 12, 11:45 PM
mjg committed rS339337: amd64: employ MEMMOVE in copyin/copyout.
amd64: employ MEMMOVE in copyin/copyout
Fri, Oct 12, 9:59 PM
mjg closed D17526: amd64: employ MEMMOVE in copyin/copyout.
Fri, Oct 12, 9:59 PM
mjg created D17539: amd64: convert libc bcopy to a C func to avoid future bloat.
Fri, Oct 12, 8:21 PM
mjg created D17538: amd64: import updated kernel memmove to libc.
Fri, Oct 12, 7:55 PM
mjg added a comment to D17519: elfcopy: delete filter_reloc, it is broken and unnecessary.

I verified the ifunc reloc patch + a demo ifunc memset + this patch give functional static binaries.

Fri, Oct 12, 3:41 PM
mjg created D17526: amd64: employ MEMMOVE in copyin/copyout.
Fri, Oct 12, 2:04 AM
mjg committed rS339323: Add a file missed in r339321.
Add a file missed in r339321
Fri, Oct 12, 12:32 AM

Thu, Oct 11

mjg committed rS339322: amd64: make memmove and memcpy less slow with mov.
amd64: make memmove and memcpy less slow with mov
Thu, Oct 11, 11:38 PM
mjg closed D17441: amd64: make memmove and memcpy less slow with mov.
Thu, Oct 11, 11:38 PM
mjg committed rS339321: Provide string functions for use before ifuncs get resolved..
Provide string functions for use before ifuncs get resolved.
Thu, Oct 11, 11:28 PM
mjg closed D17487: Provide string functions for use before ifuncs get resolved..
Thu, Oct 11, 11:28 PM
mjg committed rS339320: libmemstat: adjust for per-cpu stats after r338899.
libmemstat: adjust for per-cpu stats after r338899
Thu, Oct 11, 11:25 PM
mjg closed D17490: Adjust libmemstat after r338899.
Thu, Oct 11, 11:25 PM
mjg updated the diff for D17487: Provide string functions for use before ifuncs get resolved..
  • move macros to cpu.h
  • convert current hand-rolled code to use early, xen bits from royger
Thu, Oct 11, 2:30 PM

Wed, Oct 10

mjg added a comment to D17490: Adjust libmemstat after r338899.

The intent was not really to be compatible, but to provide the library a fighting chance to fail gracefully instead of crashing in case of potential future changes.

Wed, Oct 10, 8:49 PM
mjg updated the diff for D17490: Adjust libmemstat after r338899.

Just implement support for the updated layout.

Wed, Oct 10, 8:48 PM
mjg updated the summary of D17490: Adjust libmemstat after r338899.
Wed, Oct 10, 1:24 AM
mjg created D17490: Adjust libmemstat after r338899.
Wed, Oct 10, 1:23 AM

Tue, Oct 9

mjg created D17487: Provide string functions for use before ifuncs get resolved..
Tue, Oct 9, 9:20 PM

Sat, Oct 6

mjg added a comment to D17441: amd64: make memmove and memcpy less slow with mov.

I did not finish copyin/copyout yet. The macro has 2 exit points for non-overlapping case. The idea is to use it inside existing COPYIN/COPYOUT macros with something of this sort:

Sat, Oct 6, 10:34 PM

Fri, Oct 5

mjg created D17441: amd64: make memmove and memcpy less slow with mov.
Fri, Oct 5, 8:38 PM
mjg committed rS339206: amd64: import updated kernel memset to libc.
amd64: import updated kernel memset to libc
Fri, Oct 5, 7:27 PM
mjg closed D17405: amd64: import updated kernel memset to libc.
Fri, Oct 5, 7:27 PM
mjg closed D17398: amd64: make memset less slow with mov stores.
Fri, Oct 5, 7:25 PM
mjg committed rS339205: amd64: make memset less slow with mov.
amd64: make memset less slow with mov
Fri, Oct 5, 7:25 PM

Thu, Oct 4

mjg committed rS339183: amd64: hide non-erms jump label under non-erms copyin/copyout.
amd64: hide non-erms jump label under non-erms copyin/copyout
Thu, Oct 4, 8:01 PM
mjg updated the summary of D17405: amd64: import updated kernel memset to libc.
Thu, Oct 4, 1:39 PM
mjg updated the summary of D17405: amd64: import updated kernel memset to libc.
Thu, Oct 4, 1:38 PM
mjg created D17405: amd64: import updated kernel memset to libc.
Thu, Oct 4, 1:37 PM
mjg added a comment to D17363: Process irelocs for statically linked binaries from crt1..

Ok, I confirm it works fine for dynamic and static binaries (not stripped) for the aforementioned routines on amd64. Will test i386 some time later.

Thu, Oct 4, 12:58 PM
mjg accepted D17387: Reduce NL_ARGMAX to 4096 to match Linux..
Thu, Oct 4, 11:02 AM
mjg updated the summary of D17398: amd64: make memset less slow with mov stores.
Thu, Oct 4, 1:28 AM
mjg updated the summary of D17398: amd64: make memset less slow with mov stores.
Thu, Oct 4, 1:24 AM
mjg created D17398: amd64: make memset less slow with mov stores.
Thu, Oct 4, 1:22 AM

Tue, Oct 2

mjg added a comment to D17387: Reduce NL_ARGMAX to 4096 to match Linux..

I got a confirmation this is only an issue in the development version - older postgres verisions have the code but don't use it.

Tue, Oct 2, 11:04 PM
mjg added a comment to D8286: printf: Validate argument index is >0.

They already took care of the problem on their side by defining their own macro to 31.

Tue, Oct 2, 9:09 PM
mjg added a comment to D17363: Process irelocs for statically linked binaries from crt1..

buildworld fails for me with:

Tue, Oct 2, 8:06 PM

Mon, Oct 1

mjg reopened D8286: printf: Validate argument index is >0.

This commit bumped NL_ARGMAX from 99 to 65536.

Mon, Oct 1, 11:11 PM
mjg closed D17355: amd64: reimplement libc memset and bzero with kernel memset.
Mon, Oct 1, 8:39 PM
mjg committed rS339077: amd64: reimplement libc memset and bzero with kernel memset.
amd64: reimplement libc memset and bzero with kernel memset
Mon, Oct 1, 8:39 PM
mjg abandoned D17298: am64: further depessimize kernel string ops.

I'm experimenting with non-naive code and I'm getting significantly better results. Will create a new revision once I settle on something.

Mon, Oct 1, 7:29 PM

Sat, Sep 29

mjg committed rS339011: amd64: remove unnecessary cld from libc memcpy/bcopy.
amd64: remove unnecessary cld from libc memcpy/bcopy
Sat, Sep 29, 7:41 AM

Fri, Sep 28

mjg created D17355: amd64: reimplement libc memset and bzero with kernel memset.
Fri, Sep 28, 11:31 PM
mjg added a comment to D17277: Further reorganize pmap_invalidate TLB code..

the patch works

Fri, Sep 28, 12:38 PM
mjg reopened D17277: Further reorganize pmap_invalidate TLB code..

I started getting semi-reliable tinderbox failures which I bisected to this change.

Fri, Sep 28, 10:56 AM

Thu, Sep 27

mjg committed rS338989: amd64: fix return value of copyinstr after r338970.
amd64: fix return value of copyinstr after r338970
Thu, Sep 27, 8:48 PM
mjg closed D17336: amd64: reimplement libc memcmp and bcmp with kernel memcmp.
Thu, Sep 27, 5:08 PM
mjg committed rS338973: amd64: reimplement libc memcmp and bcmp with kernel memcmp.
amd64: reimplement libc memcmp and bcmp with kernel memcmp
Thu, Sep 27, 5:08 PM
mjg abandoned D17287: amd64: macroify copyinstr.

went in as part of r338970

Thu, Sep 27, 3:54 PM
mjg committed rS338970: amd64: macroify and mostly depessimize copyinstr.
amd64: macroify and mostly depessimize copyinstr
Thu, Sep 27, 3:53 PM
mjg closed D17288: amd64: depessimize copyinstr.
Thu, Sep 27, 3:53 PM
mjg committed rS338968: amd64: mostly depessimize copystr.
amd64: mostly depessimize copystr
Thu, Sep 27, 3:28 PM
mjg closed D17281: amd64: mostly depessimize copystr.
Thu, Sep 27, 3:28 PM
mjg committed rS338967: amd64: clean up copyin/copyout.
amd64: clean up copyin/copyout
Thu, Sep 27, 3:24 PM
mjg closed D17286: amd64: clean up copyin/copyout.
Thu, Sep 27, 3:24 PM
mjg committed rS338963: amd64: implement memcmp in assembly.
amd64: implement memcmp in assembly
Thu, Sep 27, 2:05 PM
mjg closed D17328: amd64: implement memcmp in assembly.
Thu, Sep 27, 2:05 PM
mjg updated the diff for D17336: amd64: reimplement libc memcmp and bcmp with kernel memcmp.
  • update copyright to include my name
Thu, Sep 27, 2:00 PM
mjg added inline comments to D17336: amd64: reimplement libc memcmp and bcmp with kernel memcmp.
Thu, Sep 27, 12:22 PM
mjg updated the diff for D17336: amd64: reimplement libc memcmp and bcmp with kernel memcmp.
  • wrong diff
Thu, Sep 27, 11:34 AM
mjg created D17336: amd64: reimplement libc memcmp and bcmp with kernel memcmp.
Thu, Sep 27, 11:32 AM
mjg added inline comments to D17328: amd64: implement memcmp in assembly.
Thu, Sep 27, 9:56 AM
mjg added inline comments to D17328: amd64: implement memcmp in assembly.
Thu, Sep 27, 6:44 AM
mjg updated the diff for D17328: amd64: implement memcmp in assembly.
  • comments
Thu, Sep 27, 6:37 AM

Wed, Sep 26

mjg created D17328: amd64: implement memcmp in assembly.
Wed, Sep 26, 2:19 PM
mjg added a comment to D15483: More bcmp "optimization".

So a lot of the previously mentioned list was taken care of. As a side effect bcmp was removed in favor of memcmp. The current kernel implementation is c-based and the asm variant in libc suffers all the same problems original bcopy did. This patch can be updated to make bcopy act as memcpy and thus be both a viable replacement for libc and the kernel. If you have no time/interest in doing it, I can take care of it. I definitely would like to see this done in time for 12.0

Wed, Sep 26, 12:26 AM

Tue, Sep 25

mjg committed rS338927: zfs: depessimize zfs_root with rmlocks.
zfs: depessimize zfs_root with rmlocks
Tue, Sep 25, 5:58 PM
mjg closed D17233: zfs: depessimize zfs_root with rmlocks.
Tue, Sep 25, 5:58 PM
mjg added a comment to D15736: Implement fast path for malloc and free.

The M_ZERO stuff went in quite some time ago.

Tue, Sep 25, 10:40 AM

Mon, Sep 24

mjg updated the diff for D15736: Implement fast path for malloc and free.
  • rebased
Mon, Sep 24, 12:22 PM
mjg added inline comments to D16273: eliminate locking surrounding ui_vmsize and swap reserve by using atomics.
Mon, Sep 24, 3:06 AM

Sun, Sep 23

mjg committed rS338899: Eliminate false sharing in malloc due to statistic collection.
Eliminate false sharing in malloc due to statistic collection
Sun, Sep 23, 7:00 PM
mjg closed D17289: Eliminate false sharing in malloc due to statistic collection.
Sun, Sep 23, 7:00 PM
mjg updated the diff for D17288: amd64: depessimize copyinstr.
  • update according to feedback from copystr review
Sun, Sep 23, 5:22 PM
mjg added inline comments to D17287: amd64: macroify copyinstr.
Sun, Sep 23, 2:54 PM
mjg updated the diff for D17281: amd64: mostly depessimize copystr.
Sun, Sep 23, 2:51 PM
mjg updated the summary of D17298: am64: further depessimize kernel string ops.
Sun, Sep 23, 2:10 PM
mjg updated the summary of D17298: am64: further depessimize kernel string ops.
Sun, Sep 23, 2:07 PM
mjg updated the summary of D17298: am64: further depessimize kernel string ops.
Sun, Sep 23, 2:05 PM
mjg updated the diff for D17298: am64: further depessimize kernel string ops.

ops, uploaded the wrong diff

Sun, Sep 23, 2:02 PM
mjg updated the summary of D17298: am64: further depessimize kernel string ops.
Sun, Sep 23, 2:01 PM
mjg updated the summary of D17298: am64: further depessimize kernel string ops.
Sun, Sep 23, 2:01 PM