Page MenuHomeFreeBSD
Feed Advanced Search

Yesterday

kib updated the diff for D24652: Non-transparent superpages support..

Handle last batch of notes:

  • check largepages clipping in advance
  • fix overcounting of page table pages references
  • improve wiring
Thu, Aug 13, 10:42 PM
kib added inline comments to D24652: Non-transparent superpages support..
Thu, Aug 13, 10:41 PM
kib added a comment to D26059: flua: support "require" shared objs in the base system.

Do you want to limit the export from flua ? Perhaps it is not too important because the tool is private, but I am still curios.

Thu, Aug 13, 9:09 PM
kib updated subscribers of D25968: VMIO read.
Thu, Aug 13, 2:45 PM
kib added a comment to D25968: VMIO read.

Patch is currently tested by pho.

Thu, Aug 13, 2:45 PM
kib accepted D26052: Remove the VM map zone..

Please commit sys_pipe.c rename in advance.

Thu, Aug 13, 12:31 PM
kib added inline comments to D26047: Remove a couple of uma_prealloc() calls..
Thu, Aug 13, 12:16 PM

Wed, Aug 12

kib updated the diff for D25968: VMIO read.

spaces

Wed, Aug 12, 7:28 PM
kib added inline comments to D26047: Remove a couple of uma_prealloc() calls..
Wed, Aug 12, 7:26 PM
kib added a comment to D26047: Remove a couple of uma_prealloc() calls..
In D26047#577923, @alc wrote:

I'll go a step further and question the point of even having a zone for the maps. Once upon a time, there were user-space "share" maps, but once those were eliminated and "regular" maps were embedded in the vmspace, supporting dynamic allocation of maps stopped being necessary.

Indeed, and if we remove support for dynamic allocation of kernel submaps I start to wonder if the whole submap mechanism can't itself be replaced by something simpler like a pair of vmem arenas for pipe and execve KVA ranges.

Wed, Aug 12, 7:17 PM
kib updated the diff for D25968: VMIO read.

Restore ref_count assert in terminate().

Wed, Aug 12, 5:55 PM
kib added inline comments to D25968: VMIO read.
Wed, Aug 12, 5:54 PM
kib updated the diff for D25968: VMIO read.

s/should/must/

Wed, Aug 12, 4:57 PM
kib added inline comments to D25968: VMIO read.
Wed, Aug 12, 4:57 PM
kib added a comment to D25671: geli: use unmapped I/O.

It looks fine for me with regards to interaction with unmapped/DMAP. But I do not know geli code to say more.

Wed, Aug 12, 4:30 PM
kib updated the diff for D25968: VMIO read.

Remove pip == 0 assert in vm_object_terminate().
Update comment.

Wed, Aug 12, 4:27 PM
kib added inline comments to D25968: VMIO read.
Wed, Aug 12, 4:27 PM

Tue, Aug 11

kib added a comment to D26027: Catch illegal M_WAITOK immediately..

Why it is not WITNESS_WARN() ? Perhaps witness_warn should take td_no_sleeping as arbitrary non-sleepable lock as well.

Tue, Aug 11, 4:10 PM
kib accepted D25612: devfs: rework si_usecount to track opens.
Tue, Aug 11, 1:56 PM
kib added a comment to D25612: devfs: rework si_usecount to track opens.
In D25612#577266, @mjg wrote:

That was a brainfart, I meant v_rdev.

Tue, Aug 11, 11:12 AM
kib added inline comments to D25612: devfs: rework si_usecount to track opens.
Tue, Aug 11, 10:25 AM

Mon, Aug 10

kib committed rS364091: Export scandir_b from libc..
Export scandir_b from libc.
Mon, Aug 10, 9:42 PM
kib closed D26020: Export scandir_b from libc..
Mon, Aug 10, 9:42 PM
kib added a comment to D25968: VMIO read.
In D25968#577165, @jeff wrote:

We should set reference bits or similar so that the LRU is updated lazily.

This is already done.

Mon, Aug 10, 9:29 PM
kib added a reviewer for D25968: VMIO read: jeff.
Mon, Aug 10, 9:27 PM
kib updated the diff for D25968: VMIO read.

Increment pip around pgread. Interlock with OBJ_DEAD check to not interfere with vm_terminate_object_pages().

Mon, Aug 10, 9:27 PM
kib requested review of D26020: Export scandir_b from libc..
Mon, Aug 10, 5:14 PM
kib committed rS364074: MFC r363813:.
MFC r363813:
Mon, Aug 10, 10:53 AM
kib added a comment to D26011: [WIP] off cpu tracking.

vn_start_write() is interruptible. Initially, I think, Tor made it interruptible to allow users to get out of numerous problems that the suspension implementation had. Since then most of the issues were fixed, and I think that the removal of PCATCH there is long overdue.

Mon, Aug 10, 9:52 AM

Sun, Aug 9

kib added a comment to D26011: [WIP] off cpu tracking.
In D26011#577013, @mjg wrote:

This does not catch rfork: rfppwait is doing cv_timedwait(&p2->p_pwait, &p2->p_mtx, hz); , similarly there are spots in umtx and others

Sun, Aug 9, 11:38 PM
kib added a comment to D26011: [WIP] off cpu tracking.

Arguably user-sleeps are cv/mwait with PCATCH.

Sun, Aug 9, 10:00 PM
kib added a comment to D25612: devfs: rework si_usecount to track opens.

So as I understand, we never vref() devfs chr vnodes on open after that, right ? If yes, this means that forced vs. non-forced unmounts for devfs are same, unless I miss something.

Sun, Aug 9, 9:47 PM
kib updated the diff for D25968: VMIO read.

Reference pages we read from.

Sun, Aug 9, 5:36 PM
kib added a comment to D26017: Enable interrupts while handling traps.

At least for x86, (almost) all traps are same as the system calls. We typically have to make hardware to disable interrupts on entry because switching from usermode to proper kernel hardware state is not atomic, and interrupt handlers need to distinguish between entry from kernel mode vs. usermode to avoid doing some stuff that must not be done. Most typical problem for amd64 is SWAPGS which should be done when coming from user, but must be not when coming from kernel.

Sun, Aug 9, 5:29 PM
kib added inline comments to D25968: VMIO read.
Sun, Aug 9, 4:53 PM
kib added inline comments to D25983: vfs: add VOP_GETATTR_LITE.
Sun, Aug 9, 4:04 PM

Sat, Aug 8

kib added inline comments to D25983: vfs: add VOP_GETATTR_LITE.
Sat, Aug 8, 5:55 PM
kib added inline comments to D25983: vfs: add VOP_GETATTR_LITE.
Sat, Aug 8, 4:14 PM

Fri, Aug 7

kib updated the diff for D25968: VMIO read.

Teach vn_printf() about VIRF_PGREAD.

Fri, Aug 7, 11:54 PM
kib added inline comments to D25968: VMIO read.
Fri, Aug 7, 11:53 PM
kib added inline comments to D25969: Events for mount, remount and umount in devdAdd remount vfs event, publish mount, remount and unmount events..
Fri, Aug 7, 10:26 PM
kib updated the summary of D25968: VMIO read.
Fri, Aug 7, 9:30 PM
kib retitled D25968: VMIO read from vmio read to VMIO read.
Fri, Aug 7, 9:30 PM
kib updated the diff for D25968: VMIO read.

Fix loop termination for invalid pages.
Use non-waiting busy.
Move pgcache flag from mnt kern flags to vp irflags.

Fri, Aug 7, 9:15 PM
kib added inline comments to D25968: VMIO read.
Fri, Aug 7, 9:14 PM
kib added a comment to D25886: Add O_RBENEATH and AT_RBENEATH to mimic Linux' RESOLVE_BENEATH.

Would O_BENEATH_STRICT be a better name?

Fri, Aug 7, 8:40 PM
kib added inline comments to D25983: vfs: add VOP_GETATTR_LITE.
Fri, Aug 7, 12:14 PM
kib added a comment to D25983: vfs: add VOP_GETATTR_LITE.
  1. I suggest not to add vattr_lite, pass normal vattr.
  2. Instead of two vops, pass locked arg.
  3. pre hook should assert that the vnode is held
  4. vnode_if.src chunks are missing
  5. default (fallback) implementation is missing
Fri, Aug 7, 12:12 PM
kib updated the diff for D24217: amd64 pmap: fine-grained pv list locking.

Editing of comments.

Fri, Aug 7, 12:05 PM
kib updated the diff for D24217: amd64 pmap: fine-grained pv list locking.

Remove some bits for spinning, unintended leftover.

Fri, Aug 7, 1:03 AM
kib updated the diff for D24217: amd64 pmap: fine-grained pv list locking.

obm fixes from mjg.
Fix fake page pv lock calculation by alc.
Reduce pv list lock scope in pmap_remove_pages().

Fri, Aug 7, 12:13 AM

Thu, Aug 6

kib added a comment to D25968: VMIO read.
In D25968#576131, @mjg wrote:
In D25968#575879, @kib wrote:
In D25968#575713, @mjg wrote:

Is there a problem getting this to work for tmpfs? I had a WIP lockless routine (VOP_GETATTR_LITE) which would give you the size without taking the vnode lock.

Yes, the only reason why tmpfs is skipped right now is because I need a way to get the vnode size without vnode lock.

the tmpfs_node object is protected with SMR since lockless lookup. tmpfs_getattr does:

obj = node->tn_reg.tn_aobj;
vap->va_bytes = (u_quad_t)obj->resident_page_count * PAGE_SIZE;

Assuming this is correct with vnode lock, a racy variant can be trivially devised even if aobj can get reassigned from under us in absence of any locks. Note since no locks are held the returned potential mismatch between actual and reported size has to be accounted for anyway. The VOP_GETATTR_LITE routine I mentioned was going to return whatever it finds and if the caller does not have the vnode lock, that data may be stale on return (note care would be taken to update select fields in atomic manner, but no effort would be done provide a fully consistent snapshot).

Is there another problem here?

Thu, Aug 6, 10:41 PM
kib updated the diff for D24217: amd64 pmap: fine-grained pv list locking.

Fix indent in obm_lock_slow.

Thu, Aug 6, 10:20 PM
kib added inline comments to D25969: Events for mount, remount and umount in devdAdd remount vfs event, publish mount, remount and unmount events..
Thu, Aug 6, 4:16 PM
kib updated the diff for D25968: VMIO read.

Fix ptoa().
Use atomic for storing and loading vnp_size, when available.

Thu, Aug 6, 4:11 PM
kib added inline comments to D25968: VMIO read.
Thu, Aug 6, 3:49 PM
kib added inline comments to D25968: VMIO read.
Thu, Aug 6, 3:10 PM
kib added inline comments to D25968: VMIO read.
Thu, Aug 6, 2:26 PM
kib accepted D25960: Add full support support for dynamic allocation and freeing of epochs.
Thu, Aug 6, 2:18 PM
kib added inline comments to D25960: Add full support support for dynamic allocation and freeing of epochs.
Thu, Aug 6, 1:19 PM
kib accepted D25910: vfs: add VOP_STAT.
Thu, Aug 6, 1:15 PM
kib added inline comments to D25960: Add full support support for dynamic allocation and freeing of epochs.
Thu, Aug 6, 12:46 PM
kib accepted D25972: move dmar_domain_unload_task.
Thu, Aug 6, 12:43 PM
kib updated the diff for D25968: VMIO read.

Recheck DOOMED after busying pages.
Avoid cache read if MAC filter is active for read().
Add comment explaining why tmpfs is skipped.
Some restructuring of the code.

Thu, Aug 6, 12:39 PM
kib added inline comments to D25968: VMIO read.
Thu, Aug 6, 12:37 PM
kib added a comment to D25968: VMIO read.
In D25968#575713, @mjg wrote:

Is there a problem getting this to work for tmpfs? I had a WIP lockless routine (VOP_GETATTR_LITE) which would give you the size without taking the vnode lock.

Thu, Aug 6, 12:33 PM
kib added inline comments to D25969: Events for mount, remount and umount in devdAdd remount vfs event, publish mount, remount and unmount events..
Thu, Aug 6, 12:12 PM
kib updated the diff for D25672: bhyve, DMAR: integrate.

Rebase

Thu, Aug 6, 11:24 AM
kib updated the diff for D25886: Add O_RBENEATH and AT_RBENEATH to mimic Linux' RESOLVE_BENEATH.

Rebase, fix conflicts.

Thu, Aug 6, 11:22 AM
kib updated the diff for D24217: amd64 pmap: fine-grained pv list locking.

Grammar in comments.
Fill missed static assert messages.
Remove unused lockp argument.
Switch from atomic_XXX_char to atomic_XXX _8 for obm.

Thu, Aug 6, 11:20 AM
kib committed rS363947: MFC r248454:.
MFC r248454:
Thu, Aug 6, 10:12 AM
kib added inline comments to D25960: Add full support support for dynamic allocation and freeing of epochs.
Thu, Aug 6, 10:06 AM

Wed, Aug 5

kib requested review of D25968: VMIO read.
Wed, Aug 5, 10:02 PM
kib accepted D25956: iommu_domain constructor.
Wed, Aug 5, 9:42 PM
kib accepted D25965: Clean up reassignbuf() a bit..
Wed, Aug 5, 9:39 PM
kib accepted D25966: Preserve ASLR vm_map flags across fork..
Wed, Aug 5, 9:12 PM
kib added inline comments to D25965: Clean up reassignbuf() a bit..
Wed, Aug 5, 8:46 PM
kib added inline comments to D25966: Preserve ASLR vm_map flags across fork..
Wed, Aug 5, 8:25 PM
kib added inline comments to D25965: Clean up reassignbuf() a bit..
Wed, Aug 5, 8:21 PM
kib accepted D25965: Clean up reassignbuf() a bit..
Wed, Aug 5, 8:20 PM
kib added inline comments to D25960: Add full support support for dynamic allocation and freeing of epochs.
Wed, Aug 5, 6:52 PM
kib accepted D25957: Add machine/iommu.h.
Wed, Aug 5, 6:47 PM
kib added a comment to D25957: Add machine/iommu.h.

I suggest to preemptively add include protection even despite the fact that current x86 iommu.h does not need it ATM.

Wed, Aug 5, 3:01 PM
kib added inline comments to D25956: iommu_domain constructor.
Wed, Aug 5, 2:56 PM

Tue, Aug 4

kib accepted D25926: DMAR2IODOM.
Tue, Aug 4, 8:24 PM
kib added inline comments to D25101: linuxkpi: Implement extensible arrays API using existing radix tree..
Tue, Aug 4, 8:09 PM
kib added a comment to D24217: amd64 pmap: fine-grained pv list locking.
In D24217#572014, @mjg wrote:

That said, I'll do some benchmarks later with stock head, head + vm obj rebase, head + obm, head + vm obj rebase + obm.

Tue, Aug 4, 6:39 PM
kib updated the diff for D25886: Add O_RBENEATH and AT_RBENEATH to mimic Linux' RESOLVE_BENEATH.

at2cnpflags, use uint64_t.

Tue, Aug 4, 5:36 PM
kib added a comment to D25886: Add O_RBENEATH and AT_RBENEATH to mimic Linux' RESOLVE_BENEATH.

So we permit the combination of O_BENEATH and O_RBENEATH, and it is the same as only O_RBENEATH?

No, look at the chunk in vfs_lookup.c.

Tue, Aug 4, 4:27 PM
kib accepted D25937: Remove free_domain() and uma_zfree_domain()..
Tue, Aug 4, 10:19 AM
kib added inline comments to D25922: Revert echo(1) diet changes..
Tue, Aug 4, 10:15 AM
kib updated the diff for D25924: CALLOUT_DEBUG_DRAIN and its use for mlx5en/mlx5ib.

Convert stub macros into empty functions.

Tue, Aug 4, 10:05 AM
kib added inline comments to D25924: CALLOUT_DEBUG_DRAIN and its use for mlx5en/mlx5ib.
Tue, Aug 4, 10:03 AM

Mon, Aug 3

kib accepted D25916: Add prng(9) API.
Mon, Aug 3, 10:25 PM
kib committed rS363813: Add SOL_LOCAL symbolic constant for unix socket option level..
Add SOL_LOCAL symbolic constant for unix socket option level.
Mon, Aug 3, 10:13 PM
kib closed D25933: Add SOL_LOCAL symbolic constant for unix socket option level..
Mon, Aug 3, 10:13 PM
kib added a comment to D25933: Add SOL_LOCAL symbolic constant for unix socket option level..

Thanks! I noticed SOL_SOCKET is in socket.h, so I'm not sure if SOL_SOCKET and SOL_LOCAL should be in the same file or not. Looks fine either way to me.

Mon, Aug 3, 9:43 PM
kib updated the diff for D25924: CALLOUT_DEBUG_DRAIN and its use for mlx5en/mlx5ib.

Store stack of the callout_reset. Print it on violation.
Try to resolve func and arg1 with symbols.

Mon, Aug 3, 9:03 PM
kib updated the summary of D25924: CALLOUT_DEBUG_DRAIN and its use for mlx5en/mlx5ib.
Mon, Aug 3, 9:02 PM
kib added inline comments to D25101: linuxkpi: Implement extensible arrays API using existing radix tree..
Mon, Aug 3, 5:37 PM