Page MenuHomeFreeBSD

kib (Konstantin Belousov)
User

Projects

User Details

User Since
May 16 2014, 7:35 PM (595 w, 6 d)

Recent Activity

Today

kib committed rGb4fe667b2fdd: nullfs: add nounixbypass mount option (authored by kib).
nullfs: add nounixbypass mount option
Thu, Oct 16, 2:23 AM
kib committed rG24f4ec797e9b: mount_nullfs.8: document unixbypass and nounixbypass (authored by kib).
mount_nullfs.8: document unixbypass and nounixbypass
Thu, Oct 16, 2:23 AM
kib committed rGe9a48e988e2d: nullfs_mount: use symbols instead of string literals for cache mount options (authored by kib).
nullfs_mount: use symbols instead of string literals for cache mount options
Thu, Oct 16, 2:23 AM
kib committed rG5a0a2d269f37: nullfs: add a helper for testing if vnode belongs to a nullfs mount (authored by kib).
nullfs: add a helper for testing if vnode belongs to a nullfs mount
Thu, Oct 16, 2:23 AM

Yesterday

kib updated the diff for D52045: Copy kqueues into the child on fork.

Merge two if's.

Wed, Oct 15, 11:55 PM
kib added a comment to D53091: mlx5: use newly exposed RSS hash key API rather than ad-hoc hashing.

Sorry, I do not understand the change.
The compilation of both in_rss.c and rss_config.c is gated by the RSS option, and this seems to not change for the whole time these files existed.

Wed, Oct 15, 11:03 PM
kib updated the diff for D52045: Copy kqueues into the child on fork.

Man page update: explain that knotes for closed fds are not copied.

Wed, Oct 15, 10:43 PM
kib added a comment to D52045: Copy kqueues into the child on fork.

This should really have some regression tests. Even some simple ones which exercise the f_copy routine for various filters, and verify that knotes for O_CLOFORK fds are handled properly, would be much better than nothing.

Wed, Oct 15, 10:42 PM
kib updated the diff for D27220: libuvmem: usermode port of vmem(9).

libuvmem(3)

Wed, Oct 15, 10:14 PM
kib added a comment to D27220: libuvmem: usermode port of vmem(9).
In D27220#1213306, @kib wrote:

Looks ok to me. Perhaps this should be a private library instead?

IMO it is generally useful API. Also, I do provide symbol versioning, which does not make sense for a private library: the intent is to keep stable interfaces.

Well, now the kernel's internal interface must be kept stable as well. I don't object, but I'm worried it'll be easy for someone modifying vmem to forget about this.

Wed, Oct 15, 10:13 PM
kib updated the diff for D27220: libuvmem: usermode port of vmem(9).

Makefile formatting

Wed, Oct 15, 1:46 PM
kib added a comment to D27220: libuvmem: usermode port of vmem(9).

Looks ok to me. Perhaps this should be a private library instead?

Wed, Oct 15, 1:45 PM
kib updated the diff for D52045: Copy kqueues into the child on fork.

Some editing to the comment.

Wed, Oct 15, 4:03 AM
kib accepted D53107: unionfs: avoid vdrop()ing a locked but doomed vnode.

FYI D52608 and D52628

Wed, Oct 15, 3:22 AM
kib added a comment to D52628: vfs: fix races between vdrop and VOP_UNLOCK.

So where are we WRT this change? If this not going to be finished soon, may be Mark' change should go in to be cherry-picked for 15.0.

Wed, Oct 15, 3:12 AM
kib updated the diff for D52045: Copy kqueues into the child on fork.

Wrap the first stage of the fork pass into the original pass over source fd table.

Wed, Oct 15, 3:02 AM

Tue, Oct 14

kib added a comment to D27220: libuvmem: usermode port of vmem(9).
In D27220#1212532, @kib wrote:

Hi, is there a concrete reason why this revision never landed or has it just slipped through the cracks?

I would really like to use libuvmem for one of my ongoing bhyve projects and would like to see this land, let me know if there a way I could help with that.

The intent of the libuvmem port was to use vmem allocator for bhyve to handle physical address space. That stalled, and I do not see a reason to add unused library to base.

Is there a revision with the stalled patches somewhere? I'd be interested in taking a look.

Tue, Oct 14, 6:07 PM
kib accepted D53063: imgact_elf: Check note body sizes.
Tue, Oct 14, 6:05 PM
kib updated the diff for D52045: Copy kqueues into the child on fork.

Changes due to the latest comments.

Tue, Oct 14, 6:03 PM
kib added inline comments to D52045: Copy kqueues into the child on fork.
Tue, Oct 14, 6:01 PM
kib updated the diff for D27220: libuvmem: usermode port of vmem(9).

VMEM_LIST_LOCK()

Tue, Oct 14, 5:22 PM

Mon, Oct 13

kib added inline comments to D27220: libuvmem: usermode port of vmem(9).
Mon, Oct 13, 8:29 PM
kib updated the diff for D27220: libuvmem: usermode port of vmem(9).

Use standard way to reference libc src dir.
Silence compiler warning in _bt_fill() about flags.

Mon, Oct 13, 8:27 PM
kib updated the diff for D27220: libuvmem: usermode port of vmem(9).

Remove undefined symbols from the version script. The library should be buildable, at least.

Mon, Oct 13, 6:31 PM
kib updated the diff for D27220: libuvmem: usermode port of vmem(9).

Rebase. Use FreeBSD 16.0 symbol version for the new lib.

Mon, Oct 13, 6:20 PM
kib added a comment to D27220: libuvmem: usermode port of vmem(9).

Hi, is there a concrete reason why this revision never landed or has it just slipped through the cracks?

I would really like to use libuvmem for one of my ongoing bhyve projects and would like to see this land, let me know if there a way I could help with that.

Mon, Oct 13, 6:19 PM
kib added inline comments to D53062: imgact: Mark brandinfo and note structures as const.
Mon, Oct 13, 4:36 PM
kib added inline comments to D53062: imgact: Mark brandinfo and note structures as const.
Mon, Oct 13, 4:17 PM
kib accepted D53065: exec: Check for errors when mapping the shared object.
Mon, Oct 13, 4:11 PM
kib added inline comments to D53062: imgact: Mark brandinfo and note structures as const.
Mon, Oct 13, 4:09 PM
kib updated the diff for D52045: Copy kqueues into the child on fork.

Man page editing

Mon, Oct 13, 4:07 PM
kib added inline comments to D52045: Copy kqueues into the child on fork.
Mon, Oct 13, 4:06 PM
kib accepted D53063: imgact_elf: Check note body sizes.
Mon, Oct 13, 3:49 PM
kib accepted D53062: imgact: Mark brandinfo and note structures as const.
Mon, Oct 13, 2:50 PM
kib committed rG0c7c1c27ea9e: vm_fault_busy_sleep(): update comment after addition of allocflags arg (authored by kib).
vm_fault_busy_sleep(): update comment after addition of allocflags arg
Mon, Oct 13, 12:33 AM
kib committed rGd1cdb4a087e6: vm_fault: assert that first_m is xbusy (authored by kib).
vm_fault: assert that first_m is xbusy
Mon, Oct 13, 12:32 AM
kib committed rG94ea60483bcc: vm_fault: try to only share-busy page for soft faults (authored by kib).
vm_fault: try to only share-busy page for soft faults
Mon, Oct 13, 12:32 AM
kib committed rGf4d5c6d65168: vm_fault: add helper vm_fault_can_cow_rename() (authored by kib).
vm_fault: add helper vm_fault_can_cow_rename()
Mon, Oct 13, 12:32 AM
kib committed rGe7422f7dfd0e: vm_fault: add vm_fault_might_be_cow() helper (authored by kib).
vm_fault: add vm_fault_might_be_cow() helper
Mon, Oct 13, 12:32 AM
kib committed rG3126c57163fb: vm_fault: drop never-true busy_sleep test (authored by dougm).
vm_fault: drop never-true busy_sleep test
Mon, Oct 13, 12:32 AM
kib committed rG4b938ed09069: vm_fault_busy_sleep(): pass explicit allocflags for vm_page_busy_sleep() (authored by kib).
vm_fault_busy_sleep(): pass explicit allocflags for vm_page_busy_sleep()
Mon, Oct 13, 12:32 AM
kib committed rG5f4168fa9f29: vm/vm_fault.c: cleanup includes (authored by kib).
vm/vm_fault.c: cleanup includes
Mon, Oct 13, 12:31 AM
kib committed rG84b512720455: pdgetpid(2): switch back returning EBADF for non-procdesc fd (authored by kib).
pdgetpid(2): switch back returning EBADF for non-procdesc fd
Mon, Oct 13, 12:31 AM
kib committed rG3bd1780213bf: kern: replace several EBADF with EINVAL (authored by kib).
kern: replace several EBADF with EINVAL
Mon, Oct 13, 12:31 AM
kib committed rGf0f57fde342d: kern_exit.c: do not leak reaper bitmap busy bits (authored by kib).
kern_exit.c: do not leak reaper bitmap busy bits
Mon, Oct 13, 12:30 AM

Sun, Oct 12

kib added a comment to D53047: rb tree: change INSERT_COLOR to avoid always-true test.

Single instruction to clear a register is basically free on modern architectures. All it does it marks the register as having zero (sometimes not writing actual zero) and eliminating dependencies on previous register value. On the other hand, adding more code means that we consume more space in the icache, there are more instructions to parse etc.

Sun, Oct 12, 5:59 PM

Sat, Oct 11

kib added a comment to D53026: realpath: Avoid doing unnecessary work.
In D53026#1211786, @des wrote:

@mjg @kib do you agree that there is no reason why the userland implementation of realpath() would succeed after the syscall failed, except in the case of a race?

Sat, Oct 11, 7:23 PM
kib added a comment to D52045: Copy kqueues into the child on fork.

I intend to commit this early next week.

Sat, Oct 11, 6:39 PM
kib updated the diff for D52045: Copy kqueues into the child on fork.

Bug fixes after Peter' testing.

Sat, Oct 11, 6:38 PM
kib committed rG6eb4708a84d7: kern_exit.c: do not leak reaper bitmap busy bits (authored by kib).
kern_exit.c: do not leak reaper bitmap busy bits
Sat, Oct 11, 5:10 AM
kib committed rG6506630a28bc: vm_fault_busy_sleep(): update comment after addition of allocflags arg (authored by kib).
vm_fault_busy_sleep(): update comment after addition of allocflags arg
Sat, Oct 11, 5:10 AM
kib committed rG27d5df7c26c2: vm_fault: assert that first_m is xbusy (authored by kib).
vm_fault: assert that first_m is xbusy
Sat, Oct 11, 5:10 AM
kib committed rG650a9a12c061: vm_fault: try to only share-busy page for soft faults (authored by kib).
vm_fault: try to only share-busy page for soft faults
Sat, Oct 11, 5:10 AM
kib committed rGc8e9bad25a43: vm_fault: add helper vm_fault_can_cow_rename() (authored by kib).
vm_fault: add helper vm_fault_can_cow_rename()
Sat, Oct 11, 5:10 AM
kib committed rG0188344fc3ec: vm_fault: add vm_fault_might_be_cow() helper (authored by kib).
vm_fault: add vm_fault_might_be_cow() helper
Sat, Oct 11, 5:10 AM
kib committed rG6bffdfe05b77: vm_fault_busy_sleep(): pass explicit allocflags for vm_page_busy_sleep() (authored by kib).
vm_fault_busy_sleep(): pass explicit allocflags for vm_page_busy_sleep()
Sat, Oct 11, 5:09 AM
kib committed rG40c8d6877269: vm/vm_fault.c: cleanup includes (authored by kib).
vm/vm_fault.c: cleanup includes
Sat, Oct 11, 5:09 AM
kib committed rG07debe52b30a: pdgetpid(2): switch back returning EBADF for non-procdesc fd (authored by kib).
pdgetpid(2): switch back returning EBADF for non-procdesc fd
Sat, Oct 11, 5:09 AM
kib committed rGac3444a9528e: kern: replace several EBADF with EINVAL (authored by kib).
kern: replace several EBADF with EINVAL
Sat, Oct 11, 5:09 AM

Fri, Oct 10

kib added a comment to D52940: rb tree: quiet gcc -Wmaybe-uninitialized.

You might hide the workaround under some sort of ifdef gcc. It would be tricky, though, since this needs to happen inside the macro.

Fri, Oct 10, 5:01 PM
kib added a comment to D53023: libm: remainder: make sure x is zero.

Ask kargl@ for explicit feedback and approval of the patch.

Fri, Oct 10, 4:58 PM

Thu, Oct 9

kib committed rG033587a985a4: mount_nullfs.8: document unixbypass and nounixbypass (authored by kib).
mount_nullfs.8: document unixbypass and nounixbypass
Thu, Oct 9, 11:03 PM
kib committed rG6fa205a6233f: nullfs: add nounixbypass mount option (authored by kib).
nullfs: add nounixbypass mount option
Thu, Oct 9, 11:03 PM
kib committed rG8e6f6a5fbde7: nullfs_mount: use symbols instead of string literals for cache mount options (authored by kib).
nullfs_mount: use symbols instead of string literals for cache mount options
Thu, Oct 9, 11:03 PM
kib committed rG419f2fe6b70b: nullfs: add a helper for testing if vnode belongs to a nullfs mount (authored by kib).
nullfs: add a helper for testing if vnode belongs to a nullfs mount
Thu, Oct 9, 11:03 PM
kib committed rG035f1971ade4: fs/nullfs/null.h: put first definition after headers include (authored by kib).
fs/nullfs/null.h: put first definition after headers include
Thu, Oct 9, 11:03 PM
kib closed D52983: nullfs: add nounixbypass mount option.
Thu, Oct 9, 11:02 PM
kib updated the diff for D52983: nullfs: add nounixbypass mount option.
Thu, Oct 9, 10:33 PM
kib added inline comments to D52983: nullfs: add nounixbypass mount option.
Thu, Oct 9, 10:31 PM
kib added inline comments to D52983: nullfs: add nounixbypass mount option.
Thu, Oct 9, 10:31 PM
kib accepted D53008: vm_object: Export the number of wired pages in vm_object_list_handler().
Thu, Oct 9, 10:24 PM
kib updated the diff for D52983: nullfs: add nounixbypass mount option.

Rename the option to 'unixbypass'.
Add documentation.

Thu, Oct 9, 8:56 PM
kib accepted D52997: vm_object: Reset kvo_path on each iteration in vm_object_list_handler().
Thu, Oct 9, 8:41 PM
kib accepted D52997: vm_object: Reset kvo_path on each iteration in vm_object_list_handler().

Might be bzero() whole *kvo on each iteration?

Thu, Oct 9, 4:56 PM
kib added a comment to D52983: nullfs: add nounixbypass mount option.

This should be documented in mount_nullfs.8. The implementation looks ok to me.

Thu, Oct 9, 2:41 PM

Wed, Oct 8

kib accepted D52982: kstack: Fix iterator usage in vm_thread_stack_create().
Wed, Oct 8, 4:19 PM
kib requested review of D52983: nullfs: add nounixbypass mount option.
Wed, Oct 8, 4:10 PM
kib added inline comments to D51623: amd64: Add kexec support.
Wed, Oct 8, 5:42 AM
kib added inline comments to D52045: Copy kqueues into the child on fork.
Wed, Oct 8, 5:30 AM
kib updated the summary of D52045: Copy kqueues into the child on fork.
Wed, Oct 8, 3:09 AM
kib updated the diff for D52045: Copy kqueues into the child on fork.

Rebase. Document KQUEUE_CPONFORK

Wed, Oct 8, 3:08 AM
kib accepted D52941: acpidump: quiet gcc -Wstrict-aliasing.
Wed, Oct 8, 2:41 AM
kib accepted D52940: rb tree: quiet gcc -Wmaybe-uninitialized.

Might be s/compiler/gcc/

Wed, Oct 8, 2:40 AM
kib added a comment to D52939: rb tree: remove strict aliasing violations.

There are other options for how to spell the internal macros. I'm open to something else that might be more clear. Something in particular I considered is just providing

#define _RB_OP_RVAL(elm, op, dir)	((__typeof(elm))		\
					((__uintptr_t)(elm) op (dir)))
#define	_RB_OP(elm, op, dir)	((elm) = _RB_OP_RVAL((elm), op, (dir)))
#define	_RB_OPUP(elm, field, op, dir)	_RB_OP(_RB_UP((elm), field), op, (dir))

and not _RB_{OR,XOR,ORUP,XORUP} and then having the rb code look like e.g.

			_RB_OPUP(parent, field, ^, elmdir);

instead of _RB_XORUP(parent, field, elmdir).

Wed, Oct 8, 2:38 AM

Mon, Oct 6

kib committed rGf19ef352ec63: kern_exit.c: do not leak reaper bitmap busy bits (authored by kib).
kern_exit.c: do not leak reaper bitmap busy bits
Mon, Oct 6, 4:49 PM
kib closed D52814: kern_exit.c: do not leak reaper bitmap busy bits.
Mon, Oct 6, 4:49 PM
kib added inline comments to D52929: Makefile: Force DISTDIR=/ for (update-)packages.
Mon, Oct 6, 4:42 PM
kib accepted D52935: nullfs: Apply comments from D38761 (style fixes, small improvements).
Mon, Oct 6, 3:04 PM
kib added inline comments to D52820: arch.7: deprecate __ILP32__ and __LP64__ macros.
Mon, Oct 6, 3:02 PM
kib added a comment to D51623: amd64: Add kexec support.
In D51623#1209045, @kib wrote:

It seems that you always build 4-level intermediate page table. Wouldn't it blow up if the source kernel is running in LA57 mode? [Kernel always expect LA48 on start nonetheless]

You're right. I'll need to force it down to LA48 when entering the new page table. I'll have to check on this, as I'm not familiar with configuring LA57 mode.

Mon, Oct 6, 2:09 PM

Sun, Oct 5

kib accepted D51549: fusefs: Support for the auto_unmount FUSE option.
Sun, Oct 5, 10:03 PM
kib accepted D52915: fix file_v_unlock.
Sun, Oct 5, 9:04 PM
kib added a comment to D51623: amd64: Add kexec support.

It seems that you always build 4-level intermediate page table. Wouldn't it blow up if the source kernel is running in LA57 mode? [Kernel always expect LA48 on start nonetheless]

Sun, Oct 5, 2:07 PM
kib updated the diff for D52744: atomic.9: provide fine details about CAS memory model MD semantic.

Fix acq/rel description for RMW.

Sun, Oct 5, 8:53 AM
kib added a comment to D52744: atomic.9: provide fine details about CAS memory model MD semantic.

Yes indeed what you noted is a bug in the description of acq/rel for atomics that perform more than one memory access, basically all RWM atomics. I think just fixing that would be enough.

Sun, Oct 5, 8:52 AM
kib accepted D52898: libc: Move NLS catalogues to the locales packages.

Thanks.

Sun, Oct 5, 2:32 AM

Sat, Oct 4

kib accepted D52898: libc: Move NLS catalogues to the locales packages.
Sat, Oct 4, 10:23 AM
kib added inline comments to D52898: libc: Move NLS catalogues to the locales packages.
Sat, Oct 4, 9:28 AM
kib committed rG7b980bf5e526: kern/vfs_vnops.c: generalize the lock primitive for file foffset (authored by kib).
kern/vfs_vnops.c: generalize the lock primitive for file foffset
Sat, Oct 4, 9:10 AM
kib committed rG5f0155e497fc: kern/vfs_vnops.c: generalize the lock primitive for file foffset (authored by kib).
kern/vfs_vnops.c: generalize the lock primitive for file foffset
Sat, Oct 4, 9:10 AM