Page MenuHomeFreeBSD

mjg (Mateusz Guzik)
nice guy

Projects

User Details

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

Recent Activity

Yesterday

mjg updated the diff for D27026: Export kernel malloc sizes.

Rework the patch.

Fri, Oct 30, 11:16 PM
mjg closed D27019: malloc: delegate M_EXEC handling to malloc_exec + clean up a little.
Fri, Oct 30, 8:02 PM
mjg committed rS367186: malloc: delegate M_EXEC handling to dedicacted routines.
malloc: delegate M_EXEC handling to dedicacted routines
Fri, Oct 30, 8:02 PM
mjg requested review of D27026: Export kernel malloc sizes.
Fri, Oct 30, 7:55 PM
mjg updated the diff for D27019: malloc: delegate M_EXEC handling to malloc_exec + clean up a little.
  • also patch malloc_domainset
  • manpage
Fri, Oct 30, 6:45 PM
mjg added a comment to D27019: malloc: delegate M_EXEC handling to malloc_exec + clean up a little.

They had kmem_malloc and that got patched to malloc(...., M_EXEC) so I did not deviate from the general direction. That said, I'm indifferent to this one as long as the flag is gone from malloc itself.

Fri, Oct 30, 3:45 PM
mjg requested review of D27019: malloc: delegate M_EXEC handling to malloc_exec + clean up a little.
Fri, Oct 30, 3:19 PM
mjg committed rS367165: tmpfs: change tmpfs dirent zone into a malloc type.
tmpfs: change tmpfs dirent zone into a malloc type
Fri, Oct 30, 2:07 PM
mjg committed rS367164: vfs: change vnode poll to just a malloc type.
vfs: change vnode poll to just a malloc type
Fri, Oct 30, 2:03 PM
mjg committed rS367162: cache: add cache_vop_mkdir and rename cache_rename to cache_vop_rename.
cache: add cache_vop_mkdir and rename cache_rename to cache_vop_rename
Fri, Oct 30, 10:46 AM

Thu, Oct 29

mjg committed rS367144: vfs: add NAMEI_DBG_HADSTARTDIR handling lost in rewrite.
vfs: add NAMEI_DBG_HADSTARTDIR handling lost in rewrite
Thu, Oct 29, 6:43 PM
mjg committed rS367130: vfs: add NDREINIT to facilitate repeated namei calls.
vfs: add NDREINIT to facilitate repeated namei calls
Thu, Oct 29, 12:56 PM

Tue, Oct 27

mjg committed rS367090: vfs: tidy up vnlru_free.
vfs: tidy up vnlru_free
Tue, Oct 27, 6:13 PM
mjg committed rS367089: vfs: fix vnode reclaim races against getnwevnode.
vfs: fix vnode reclaim races against getnwevnode
Tue, Oct 27, 6:12 PM
mjg committed rS367088: refcount: make it atomic-clean.
refcount: make it atomic-clean
Tue, Oct 27, 6:11 PM

Mon, Oct 26

mjg committed rS367066: linux: silence renameat2 flags warning.
linux: silence renameat2 flags warning
Mon, Oct 26, 6:04 PM
mjg committed rS367065: linux: add missing conversions for compat.linux.use_emul_path handling.
linux: add missing conversions for compat.linux.use_emul_path handling
Mon, Oct 26, 6:03 PM
mjg committed rS367064: cache: add missing NIRES_ABS handling.
cache: add missing NIRES_ABS handling
Mon, Oct 26, 6:01 PM
mjg added a comment to D26957: sockstat: chdir to jail path before attaching to vnet jail.

A proper fix would avoid entering a jail to begin with, but that may be too much work right now.

Mon, Oct 26, 5:57 PM
mjg added a comment to D26957: sockstat: chdir to jail path before attaching to vnet jail.

This is a bug in jail significant enough to add a syscall doing the trick.

Mon, Oct 26, 1:26 PM
mjg added a comment to D26955: Try to canonicalize the first argument to mount(8).

This is a non-starter imo. For example tmpfs does not do anything with dev and you are expected to pass "tmpfs" as the argument. However, at some point the argument may become meaningful. But then it will be susceptible to getting clobbered if the passed value happens to match a file in cwd.

Mon, Oct 26, 12:02 PM
mjg committed rS367054: zfs: remove unused support for zfs_znode_move.
zfs: remove unused support for zfs_znode_move
Mon, Oct 26, 8:18 AM

Sat, Oct 24

mjg committed rS366999: cache: assorted typo fixes.
cache: assorted typo fixes
Sat, Oct 24, 1:31 PM
mjg committed rS366998: cache: add the missing NC_NOMAKEENTRY and NC_KEEPPOSENTRY to lockless lookup.
cache: add the missing NC_NOMAKEENTRY and NC_KEEPPOSENTRY to lockless lookup
Sat, Oct 24, 1:31 PM
mjg committed rS366997: vfs: fix a race where reclaim vholds freed vnodes.
vfs: fix a race where reclaim vholds freed vnodes
Sat, Oct 24, 1:30 PM
mjg committed rS366988: cache: batch updates to numcache in case of mass removal.
cache: batch updates to numcache in case of mass removal
Sat, Oct 24, 1:15 AM
mjg committed rS366987: cache: refactor alloc/free.
cache: refactor alloc/free
Sat, Oct 24, 1:14 AM
mjg committed rS366986: cache: fold branch prediction into cache_ncp_canuse.
cache: fold branch prediction into cache_ncp_canuse
Sat, Oct 24, 1:14 AM
mjg committed rS366985: cache: fix some typos.
cache: fix some typos
Sat, Oct 24, 1:13 AM
mjg committed rS366984: cache: drop write-only vars.
cache: drop write-only vars
Sat, Oct 24, 1:13 AM

Fri, Oct 23

mjg committed rS366976: cache: reduce memory waste in struct namecache.
cache: reduce memory waste in struct namecache
Fri, Oct 23, 3:56 PM
mjg committed rS366975: vfs: drop spurious cache_purge on rmdir.
vfs: drop spurious cache_purge on rmdir
Fri, Oct 23, 3:51 PM
mjg committed rS366974: vfs: stop taking the interlock in vnode reclaim.
vfs: stop taking the interlock in vnode reclaim
Fri, Oct 23, 3:49 PM

Thu, Oct 22

mjg committed rS366950: vfs: prevent avoidable evictions on mkdir of existing directories.
vfs: prevent avoidable evictions on mkdir of existing directories
Thu, Oct 22, 7:28 PM
mjg committed rS366948: cache: assert the created entry does not point to itself.
cache: assert the created entry does not point to itself
Thu, Oct 22, 7:22 PM

Wed, Oct 21

mjg committed rS366907: cache: drop the spurious slash_prefixed argument.
cache: drop the spurious slash_prefixed argument
Wed, Oct 21, 5:57 AM

Tue, Oct 20

mjg committed rS366890: ufs: catch up with removal of thread argument from VOP_INACTIVE.
ufs: catch up with removal of thread argument from VOP_INACTIVE
Tue, Oct 20, 9:46 AM
mjg committed rS366871: Bump __FreeBSD_version after VOP VPTOCNP and INACTIVE changes.
Bump __FreeBSD_version after VOP VPTOCNP and INACTIVE changes
Tue, Oct 20, 7:19 AM
mjg committed rS366870: vfs: drop the de facto curthread argument from VOP_INACTIVE.
vfs: drop the de facto curthread argument from VOP_INACTIVE
Tue, Oct 20, 7:19 AM
mjg committed rS366869: vfs: drop spurious cred argument from VOP_VPTOCNP.
vfs: drop spurious cred argument from VOP_VPTOCNP
Tue, Oct 20, 7:18 AM

Mon, Oct 19

mjg committed rS366846: cache: promote negative entries based on more than one hit.
cache: promote negative entries based on more than one hit
Mon, Oct 19, 6:52 PM
mjg committed rS366829: cache: refactor negative promotion/demotion handling.
cache: refactor negative promotion/demotion handling
Mon, Oct 19, 9:53 AM

Sat, Oct 17

mjg committed rS366797: cache: shorten names of debug stats.
cache: shorten names of debug stats
Sat, Oct 17, 9:31 PM
mjg committed rS366796: cache: don't automatically evict negative entries if usage is low.
cache: don't automatically evict negative entries if usage is low
Sat, Oct 17, 9:23 PM
mjg committed rS366793: cache: erwork sysctl vfs.cache tree.
cache: erwork sysctl vfs.cache tree
Sat, Oct 17, 1:06 PM
mjg committed rS366792: cache: factor negative lookup out of cache_fplookup_next.
cache: factor negative lookup out of cache_fplookup_next
Sat, Oct 17, 1:05 PM
mjg committed rS366791: cache: avoid smr in cache_neg_evict in favoro of the already held bucket lock.
cache: avoid smr in cache_neg_evict in favoro of the already held bucket lock
Sat, Oct 17, 1:04 PM
mjg committed rS366785: cache: rework parts of negative entry management.
cache: rework parts of negative entry management
Sat, Oct 17, 8:49 AM
mjg committed rS366784: cache: remove entries before trying to add new ones, not after.
cache: remove entries before trying to add new ones, not after
Sat, Oct 17, 8:48 AM
mjg committed rS366783: vfs: annotate mountlist_mtx with __exclusive_cache_line.
vfs: annotate mountlist_mtx with __exclusive_cache_line
Sat, Oct 17, 8:47 AM
mjg committed rS366776: cache: add a probe reporting addition of duplicate entries.
cache: add a probe reporting addition of duplicate entries
Sat, Oct 17, 12:27 AM

Fri, Oct 16

mjg committed rS366744: cache: flip inverted condition in previous.
cache: flip inverted condition in previous
Fri, Oct 16, 2:19 AM
mjg committed rS366743: cache: support negative entry promotion in slowpath smr.
cache: support negative entry promotion in slowpath smr
Fri, Oct 16, 12:56 AM
mjg committed rS366742: cache: elide vhold/vdrop around promoting negative entry.
cache: elide vhold/vdrop around promoting negative entry
Fri, Oct 16, 12:56 AM
mjg committed rS366741: cache: dedup code for negative promotion.
cache: dedup code for negative promotion
Fri, Oct 16, 12:55 AM
mjg committed rS366740: cache: neglist -> nl; negstate -> ns.
cache: neglist -> nl; negstate -> ns
Fri, Oct 16, 12:55 AM

Thu, Oct 15

mjg added a comment to D21206: libc: add fdwalk.

If you can confirm that glib's fdwalk also passes your tests I'll take a fresh look at this patch and commit.

Thu, Oct 15, 9:28 PM
mjg committed rS366735: cache: split hotlist between existing negative lists.
cache: split hotlist between existing negative lists
Thu, Oct 15, 5:44 PM
mjg committed rS366734: cache: make neglist an array given the static size.
cache: make neglist an array given the static size
Thu, Oct 15, 5:42 PM
mjg committed rS366719: Bump __FreeBSD_version after addition of VOP_EAGAIN.
Bump __FreeBSD_version after addition of VOP_EAGAIN
Thu, Oct 15, 5:11 AM
mjg committed rS366718: zfs: g/c unused vop_vector zfsctl_ops_shares_dir.
zfs: g/c unused vop_vector zfsctl_ops_shares_dir
Thu, Oct 15, 5:05 AM
mjg committed rS366717: zfs: add missing fplookup vops.
zfs: add missing fplookup vops
Thu, Oct 15, 4:49 AM
mjg committed rS366716: vfs: add VOP_EAGAIN.
vfs: add VOP_EAGAIN
Thu, Oct 15, 4:48 AM

Wed, Oct 14

mjg committed rS366692: axgbe: fix tinderbox build.
axgbe: fix tinderbox build
Wed, Oct 14, 2:24 AM

Tue, Oct 13

mjg closed D26759: zfs: fix panic due to tqid overflow.
Tue, Oct 13, 8:40 PM
mjg committed rS366685: FreeBSD: fix panic due to tqid overflow.
FreeBSD: fix panic due to tqid overflow
Tue, Oct 13, 8:40 PM
mjg updated the summary of D26759: zfs: fix panic due to tqid overflow.
Tue, Oct 13, 12:56 PM
mjg requested review of D26759: zfs: fix panic due to tqid overflow.
Tue, Oct 13, 12:56 PM

Mon, Oct 12

mjg added a comment to D26751: Significantly reduce compile time for googletest internal tests.

Do we even need this in default installs? As in, what happens if this does not get compiled at all?

Mon, Oct 12, 7:50 PM

Sun, Oct 11

mjg added a comment to D26741: Avoid dump_avail[] redefinition..

If someone is to do anything serious with gcc I suggest the following:

  • scratch version 9, use 10. the port may need updating.
  • review all passed flags. I know some warns got silenced over the years just to get the compile rolling, despite pointing at legitimate problems.
  • find a switch to make gcc leave enums alone and rely on clang for correctness
Sun, Oct 11, 8:33 PM
mjg added a comment to D26741: Avoid dump_avail[] redefinition..

Is this a gcc build?

Sun, Oct 11, 8:04 PM

Sat, Oct 10

mjg committed rS366598: zfs: use cache_rename.
zfs: use cache_rename
Sat, Oct 10, 4:19 AM
mjg committed rS366597: vfs: support lockless dirfd lookups.
vfs: support lockless dirfd lookups
Sat, Oct 10, 3:48 AM

Fri, Oct 9

mjg committed rS366587: vfs: fix a panic when truncating comming from copy_file_range.
vfs: fix a panic when truncating comming from copy_file_range
Fri, Oct 9, 8:31 PM
mjg committed rS366582: cache: fix vexec panic when racing against vgone.
cache: fix vexec panic when racing against vgone
Fri, Oct 9, 7:10 PM

Wed, Oct 7

mjg added a comment to D26709: domain: explicitly track domains with fasttimo/slowtimo callbacks.

Well I'm note sure about NET_EPOCH_CALL semantics.

Wed, Oct 7, 9:27 PM
mjg added a comment to D26709: domain: explicitly track domains with fasttimo/slowtimo callbacks.

This looks fine to my cursory reading. Again, someone with stake in the area will have to ACK it.

Wed, Oct 7, 9:24 PM
mjg added a comment to D26709: domain: explicitly track domains with fasttimo/slowtimo callbacks.

Why not a step further and a global list of protocols? Regardless, this will need a buy in from someone from the network stack. I don't have stake here.

Wed, Oct 7, 6:30 PM
mjg added a comment to D25459: domain: make it safer to add domains post-domainfinalize.

You can keep the flag and add the 2 lists anyway. The unload handling can be added later.

Wed, Oct 7, 5:32 PM
mjg added a comment to D25459: domain: make it safer to add domains post-domainfinalize.

Future work can fix that up to make sure we don't find partially constructed domains, but care must be taken to make sure that at least, e.g., the usages of pffindproto in ip_input.c can still find them.

Wed, Oct 7, 4:56 PM

Tue, Oct 6

mjg committed rS366468: libkvm: catch up with pre-subtracated per-cpu addresses.
libkvm: catch up with pre-subtracated per-cpu addresses
Tue, Oct 6, 2:58 AM

Mon, Oct 5

mjg committed rS366462: cache: fix pwd use-after-free in setting up fallback.
cache: fix pwd use-after-free in setting up fallback
Mon, Oct 5, 7:39 PM

Fri, Oct 2

mjg committed rS366363: cache: update the commentary for path parsing.
cache: update the commentary for path parsing
Fri, Oct 2, 2:50 PM

Oct 1 2020

mjg committed rS366310: cache: properly report ENOTDIR on foo/bar lookups where foo is a file.
cache: properly report ENOTDIR on foo/bar lookups where foo is a file
Oct 1 2020, 8:46 AM

Sep 30 2020

mjg added a comment to D26612: Only clear TDP_NERRNO when needed.

this adds a branch which likely pessimizes the code

Sep 30 2020, 11:50 PM
mjg committed rS366293: cache: push the lock into cache_purge_impl.
cache: push the lock into cache_purge_impl
Sep 30 2020, 5:08 PM
mjg committed rS366283: cache: use cache_has_entries where appropriate instead of opencoding it.
cache: use cache_has_entries where appropriate instead of opencoding it
Sep 30 2020, 4:27 AM

Sep 29 2020

mjg accepted D26596: ufs: restore uniqueness of st_dev.

doh

Sep 29 2020, 10:13 PM

Sep 28 2020

mjg added a comment to D26571: Modify vn_generic_copy_file_range() so that it will return after approximately 1second.

can you elaborate on the nfs server problem? for example, if the concern is that it will tie down a thread for an extended amount of time, the 1 second timeout is already orders of magnitude too big. I know nfs likes to postpone signals in some cases, but all the copying here should be above any of that code.

Sep 28 2020, 3:23 PM
mjg added a comment to D26571: Modify vn_generic_copy_file_range() so that it will return after approximately 1second.

or so

Sep 28 2020, 1:56 AM
mjg added a comment to D26571: Modify vn_generic_copy_file_range() so that it will return after approximately 1second.

It should not return after any specific period, instead it should check for yield and pending signals every n iterations.

Sep 28 2020, 1:36 AM

Sep 24 2020

mjg committed rS366099: cache: eliminate cache_zap_locked_vnode.
cache: eliminate cache_zap_locked_vnode
Sep 24 2020, 3:38 AM

Sep 23 2020

mjg committed rS366072: Bump __FreeBSD_version after cache_purgevfs change.
Bump __FreeBSD_version after cache_purgevfs change
Sep 23 2020, 11:02 AM
mjg committed rS366071: cache: drop the force flag from purgevfs.
cache: drop the force flag from purgevfs
Sep 23 2020, 10:46 AM
mjg committed rS366070: cache: reimplement purgevfs to iterate vnodes instead of the entire hash.
cache: reimplement purgevfs to iterate vnodes instead of the entire hash
Sep 23 2020, 10:45 AM
mjg committed rS366069: cache: clean up atomic ops on numneg and numcache.
cache: clean up atomic ops on numneg and numcache
Sep 23 2020, 10:42 AM

Sep 20 2020

mjg accepted D26500: atomic_common.h: Fix the volatile qualifier placement in atomic_load_ptr.

Now that's embarassing. Nice find.

Sep 20 2020, 11:06 PM

Sep 16 2020

mjg added a comment to D26448: Move to a more conservative alloation scheme for devctl messages.

Given this already has support for reusing items from a global list, why uma allocation in the first place? Most notably why per-CPU caches. The current code does not scale regardless and is expensive to use, but with expected low msg rates it should be fine for the time being.

Sep 16 2020, 8:35 PM
mjg added inline comments to D26451: tmpfs: restore atime updates for reads from page cache..
Sep 16 2020, 4:40 PM
mjg added a comment to D26451: tmpfs: restore atime updates for reads from page cache..
In D26451#588469, @kib wrote:
In D26451#588463, @mjg wrote:

On a more general note perhaps this can finally move to just getnanotime() on access and updating the stored value only if it goes forward. While this would incur some loss of concurrency it may be small enough to be more than tolerable, all while finally providing reasonable timestamp accuracy. Note as it is atime is updated who-knows-when. Same goes for other counters.

At least we do not write torn values to Xtime fields. I do not want to take node lock in tmpfs_pgcache_read(), after all efforts I put to remove object and node referencing.

Sep 16 2020, 4:36 PM