Page MenuHomeFreeBSD
Feed Advanced Search

Jul 30 2021

dchagin updated the diff for D31357: linux(4): Plug in aarch64 fcntl flags..

spirious line removal

Jul 30 2021, 6:14 AM
dchagin added a reviewer for D31357: linux(4): Plug in aarch64 fcntl flags.: Linux Emulation.
Jul 30 2021, 6:12 AM
dchagin requested review of D31357: linux(4): Plug in aarch64 fcntl flags..
Jul 30 2021, 6:11 AM

Jul 29 2021

dchagin updated the diff for D31345: linux(4): Implement faccessat2 system call..

faccessat2 used by bash on arm64

Jul 29 2021, 10:10 AM
dchagin updated the summary of D31347: linux(4): Fix futex copyrights..
Jul 29 2021, 10:08 AM
dchagin requested review of D31347: linux(4): Fix futex copyrights..
Jul 29 2021, 10:07 AM
dchagin committed R10:2411ac0b89f3: linux(4): Eliminate a now unused includes after futexes refactoring. (authored by dchagin).
linux(4): Eliminate a now unused includes after futexes refactoring.
Jul 29 2021, 10:00 AM
dchagin committed R10:d90df8ac1324: linux(4): Add a comment about wait/requeue pi operations. (authored by dchagin).
linux(4): Add a comment about wait/requeue pi operations.
Jul 29 2021, 10:00 AM
dchagin committed R10:626cbd464814: linux(4): Handle incorrect FUTEX_CLOCK_REALTIME option bit. (authored by dchagin).
linux(4): Handle incorrect FUTEX_CLOCK_REALTIME option bit.
Jul 29 2021, 10:00 AM
dchagin committed R10:a9bb1b1c1883: linux(4): Handle FUTEX_LOCK_PI2 oeration. (authored by dchagin).
linux(4): Handle FUTEX_LOCK_PI2 oeration.
Jul 29 2021, 10:00 AM
dchagin committed R10:bd25bf092ae9: linux(4): Use variable name not type for sizeof() to calculate storage size. (authored by dchagin).
linux(4): Use variable name not type for sizeof() to calculate storage size.
Jul 29 2021, 10:00 AM
dchagin committed R10:49a5c0409bf1: linux(4): Move len variable initialization to the appropriate place. (authored by dchagin).
linux(4): Move len variable initialization to the appropriate place.
Jul 29 2021, 10:00 AM
dchagin committed R10:f88d3c522f74: linux(4): Eliminate unnecessary error initialization. (authored by dchagin).
linux(4): Eliminate unnecessary error initialization.
Jul 29 2021, 10:00 AM
dchagin committed R10:c8e9d2b7eb6e: linux(4): Use linux_tdfind() in get_robust_list. (authored by dchagin).
linux(4): Use linux_tdfind() in get_robust_list.
Jul 29 2021, 10:00 AM
dchagin committed R10:6b68e8af1f87: linux(4): Eliminate unnecessary head initialization. (authored by dchagin).
linux(4): Eliminate unnecessary head initialization.
Jul 29 2021, 10:00 AM
dchagin committed R10:971b53fa04f9: linux(4): style, wrap too long line. (authored by dchagin).
linux(4): style, wrap too long line.
Jul 29 2021, 9:59 AM
dchagin committed R10:edd44176aa0e: linux(4): Eliminating remnants of futex sdt. (authored by dchagin).
linux(4): Eliminating remnants of futex sdt.
Jul 29 2021, 9:59 AM
dchagin committed R10:741f80df531c: linux(4): Eliminating an accidental comment. (authored by dchagin).
linux(4): Eliminating an accidental comment.
Jul 29 2021, 9:59 AM
dchagin committed R10:b59cf25eac06: linux(4): Handle special case for regular futex in handle_futex_death(). (authored by dchagin).
linux(4): Handle special case for regular futex in handle_futex_death().
Jul 29 2021, 9:59 AM
dchagin committed R10:dad107705667: linux(4): Futex address must be 32-bit aligned. (authored by dchagin).
linux(4): Futex address must be 32-bit aligned.
Jul 29 2021, 9:59 AM
dchagin committed R10:b33e4690271c: linux(4): Finish cf8d74e3fe63. (authored by dchagin).
linux(4): Finish cf8d74e3fe63.
Jul 29 2021, 9:59 AM
dchagin committed R10:4f34dc64536f: linux(4): Replace casuword32 by casueword32. (authored by dchagin).
linux(4): Replace casuword32 by casueword32.
Jul 29 2021, 9:59 AM
dchagin committed R10:7a718f293a1e: linux(4): Implement pi futexes using umtx. (authored by dchagin).
linux(4): Implement pi futexes using umtx.
Jul 29 2021, 9:59 AM
dchagin committed R10:cb01cc4a1020: linux(4): Replace copyin() by fueword32() in handle_futex_death(). (authored by dchagin).
linux(4): Replace copyin() by fueword32() in handle_futex_death().
Jul 29 2021, 9:59 AM
dchagin committed R10:20979f38c186: umtx: Add new pi_futex type. (authored by dchagin).
umtx: Add new pi_futex type.
Jul 29 2021, 9:59 AM
dchagin closed D31280: linux(4): Handle special case for regular futex in handle_futex_death()..
Jul 29 2021, 9:59 AM
dchagin committed R10:9e32efa79bf2: umtx: Split do_unlock_pi on two counterparts. (authored by dchagin).
umtx: Split do_unlock_pi on two counterparts.
Jul 29 2021, 9:59 AM
dchagin closed D31279: linux(4): Futex address must be 32-bit aligned..
Jul 29 2021, 9:59 AM
dchagin committed R10:09f55e600246: umtx: Expose some of the pi umtx structures and API to the rest of the kernel. (authored by dchagin).
umtx: Expose some of the pi umtx structures and API to the rest of the kernel.
Jul 29 2021, 9:59 AM
dchagin closed D31254: linux(4): Replace casuword32 by casueword32 in handle_futex_death()..
Jul 29 2021, 9:59 AM
dchagin committed R10:b9c89fa39e1e: linux(4): Eliminate unused includes. (authored by dchagin).
linux(4): Eliminate unused includes.
Jul 29 2021, 9:59 AM
dchagin closed D31240: linux(4): Implement pi futexes using umtx..
Jul 29 2021, 9:59 AM
dchagin closed D31239: linux(4): Replace copyin() by fueword32() in handle_futex_death()..
Jul 29 2021, 9:59 AM
dchagin closed D31250: umtx: Add new pi_futex type..
Jul 29 2021, 9:59 AM
dchagin closed D31238: umtx: Split do_unlock_pi on two counterparts..
Jul 29 2021, 9:59 AM
dchagin closed D31237: umtx: Expose some of the pi umtx structures and API to the rest of the kernel..
Jul 29 2021, 9:58 AM
dchagin committed R10:0dc38e33031b: linux(4): Reimplement futexes using umtx. (authored by dchagin).
linux(4): Reimplement futexes using umtx.
Jul 29 2021, 9:47 AM
dchagin committed R10:8e4d22c01d8f: umtx: Add umtxq_requeue Linux emulation layer extension. (authored by dchagin).
umtx: Add umtxq_requeue Linux emulation layer extension.
Jul 29 2021, 9:47 AM
dchagin committed R10:7caa29115b4a: umtx: Add bitset conditional wakeup functionality. (authored by dchagin).
umtx: Add bitset conditional wakeup functionality.
Jul 29 2021, 9:47 AM
dchagin committed R10:1fdcc87cfd67: umtx: Expose some of the umtx structures and API to the rest of the kernel. (authored by dchagin).
umtx: Expose some of the umtx structures and API to the rest of the kernel.
Jul 29 2021, 9:47 AM
dchagin closed D31236: linux(4): Reimplement futexes using umtx..
Jul 29 2021, 9:47 AM
dchagin committed R10:af29f3995882: umtx: Split umtx.h on two counterparts. (authored by dchagin).
umtx: Split umtx.h on two counterparts.
Jul 29 2021, 9:47 AM
dchagin committed R10:307a3dd35cd4: umtx: Expose struct abs_timeout to the rest of the kernel. (authored by dchagin).
umtx: Expose struct abs_timeout to the rest of the kernel.
Jul 29 2021, 9:46 AM
dchagin committed R10:7cf06e075d1c: freebsd32: Remove the unnecessary spaces. (authored by dchagin).
freebsd32: Remove the unnecessary spaces.
Jul 29 2021, 9:46 AM
dchagin closed D31235: umtx: Add umtxq_requeue Linux emulation layer extension..
Jul 29 2021, 9:46 AM
dchagin committed R10:3c886cb6917f: freebsd32: Remove unused umtx.h include. (authored by dchagin).
freebsd32: Remove unused umtx.h include.
Jul 29 2021, 9:46 AM
dchagin closed D31234: umtx: Add bitset member to the struct umtx_q..
Jul 29 2021, 9:46 AM
dchagin committed R10:32a18e9abd38: freebsd32: Eliminate spaces at end of line. (authored by dchagin).
freebsd32: Eliminate spaces at end of line.
Jul 29 2021, 9:46 AM
dchagin closed D31233: umtx: Expose some of the umtx structures and API to the rest of the kernel..
Jul 29 2021, 9:46 AM
dchagin closed D31248: umtx: Split umtx.h on two counterparts..
Jul 29 2021, 9:46 AM
dchagin closed D31249: umtx: Expose struct abs_timeout to the rest of the kernel..
Jul 29 2021, 9:46 AM
dchagin closed D31247: freebsd32: Remove the unnecessary spaces..
Jul 29 2021, 9:46 AM
dchagin closed D31246: freebsd32: Remove unused umtx.h include..
Jul 29 2021, 9:46 AM
dchagin closed D31245: freebsd32: Eliminate spaces at end of line..
Jul 29 2021, 9:46 AM
dchagin added a reviewer for D31345: linux(4): Implement faccessat2 system call.: Linux Emulation.
Jul 29 2021, 8:06 AM
dchagin requested review of D31345: linux(4): Implement faccessat2 system call..
Jul 29 2021, 8:05 AM
dchagin committed R10:f33794014468: linux(4): Fix gcc buld. (authored by dchagin).
linux(4): Fix gcc buld.
Jul 29 2021, 6:59 AM

Jul 26 2021

dchagin committed R10:b0fa09a0a7e3: linux(4): Fix amd64 gcc build. (authored by dchagin).
linux(4): Fix amd64 gcc build.
Jul 26 2021, 7:29 PM
dchagin committed R10:de273c83a10c: linux(4): Fix i386 gcc build. (authored by dchagin).
linux(4): Fix i386 gcc build.
Jul 26 2021, 6:30 PM
dchagin added inline comments to D31285: linux: emit warning on SS_AUTODISARM.
Jul 26 2021, 3:36 PM
dchagin accepted D31286: linux: implement sigaltstack(2) on arm64.
Jul 26 2021, 3:35 PM
dchagin accepted D31258: linux: implement signal delivery on arm64.

if it works I have no objection)

Jul 26 2021, 7:35 AM

Jul 24 2021

dchagin accepted D31298: linux: fix sigaltstack on amd64.
Jul 24 2021, 5:48 PM

Jul 23 2021

dchagin accepted D31259: linux: implement rt_sigsuspend(2) on arm64.

if (error) to if (error != 0)

Jul 23 2021, 1:14 PM
dchagin added inline comments to D31258: linux: implement signal delivery on arm64.
Jul 23 2021, 10:03 AM
dchagin added a comment to D31259: linux: implement rt_sigsuspend(2) on arm64.

On amd64 we have both 32-bit and 64-bit versions of linux_rt_sigsuspend(), though.

Jul 23 2021, 9:57 AM

Jul 22 2021

dchagin updated the diff for D31279: linux(4): Futex address must be 32-bit aligned..

Linux futex documentation explicitly states that EINVAL is returned if
the futex is not 4-byte aligned. Check futex alignment as a Linux do
and return EINVAL.

Jul 22 2021, 4:35 PM
dchagin added a comment to D31279: linux(4): Futex address must be 32-bit aligned..
In D31279#704382, @kib wrote:
In D31279#704348, @kib wrote:

But why is this check needed? We do not do similar checks in kern_umtx.c.

IMO MD casueword/fuword/suword interfaces must handle this case, e.g. returning EFAULT if unaligned userspace address is not acceptable (or silently do whatever is needed).

Hmm, for some reason I thought that umtx checks this. When are unaligned addresses ever acceptable? I don't see how e.g., fuword can silently handle unaligned addresses.

I am not sure what do you mean. If fuword causes unaligned exception on some architectures, then pcb_onfault handler can notice this and do whatever is needed to emulate the access.

Ok, I see. So according to your suggestion, amd64 fuword should fall back to a lock-prefixed instruction if it detects that the operand is unaligned.

I note though that the futex documentation explicitly states that EINVAL is returned if the object is not 4 byte-aligned, so I suspect that this change is still preferable for compatibility reasons.

Jul 22 2021, 4:30 PM
dchagin added reviewers for D31280: linux(4): Handle special case for regular futex in handle_futex_death().: kib, markj.
Jul 22 2021, 2:53 PM
dchagin added reviewers for D31279: linux(4): Futex address must be 32-bit aligned.: markj, kib.
Jul 22 2021, 2:52 PM
dchagin requested review of D31280: linux(4): Handle special case for regular futex in handle_futex_death()..
Jul 22 2021, 2:51 PM
dchagin requested review of D31279: linux(4): Futex address must be 32-bit aligned..
Jul 22 2021, 2:44 PM
dchagin added a comment to D31258: linux: implement signal delivery on arm64.

Note that this still uses FreeBSD-style sigframe;
this will be addressed later.

Jul 22 2021, 12:59 PM
dchagin added a comment to D31238: umtx: Split do_unlock_pi on two counterparts..
In D31238#704112, @kib wrote:

UMTXQ_LOCKED_ASSERT?

Are you suggesting to call UMTXQ_ASSERT_LOCKED_BUSY() by UMTXQ_LOCKED_ASSERT() instead? The assert does both lock and busy checks, so IMO the longer name is more correct.

Jul 22 2021, 6:52 AM
dchagin added a comment to D31259: linux: implement rt_sigsuspend(2) on arm64.

is rt_sigsuspend MD? seems that it can be moved to the MI code

Jul 22 2021, 6:45 AM
dchagin added inline comments to D31258: linux: implement signal delivery on arm64.
Jul 22 2021, 6:43 AM

Jul 21 2021

dchagin updated the diff for D31236: linux(4): Reimplement futexes using umtx..

style(9)

Jul 21 2021, 11:06 PM
dchagin updated the diff for D31240: linux(4): Implement pi futexes using umtx..

style(9)

Jul 21 2021, 11:00 PM
dchagin updated the diff for D31238: umtx: Split do_unlock_pi on two counterparts..

done,
UMTXQ_LOCKED_ASSERT?

Jul 21 2021, 9:21 PM
dchagin updated the diff for D31238: umtx: Split do_unlock_pi on two counterparts..

fixed, sorry(

Jul 21 2021, 8:03 PM
dchagin updated the diff for D31234: umtx: Add bitset member to the struct umtx_q..

s/u_int/uint32_t/

Jul 21 2021, 7:14 PM
dchagin updated the diff for D31254: linux(4): Replace casuword32 by casueword32 in handle_futex_death()..

Follow the r349951 (30b3018d), add check to react to stops and requests
to terminate between retries.

Jul 21 2021, 7:06 PM
dchagin updated the diff for D31238: umtx: Split do_unlock_pi on two counterparts..

done

Jul 21 2021, 7:03 PM
dchagin updated the diff for D31236: linux(4): Reimplement futexes using umtx..

futex_requeue should return (error)

Jul 21 2021, 7:00 PM
dchagin updated the diff for D31235: umtx: Add umtxq_requeue Linux emulation layer extension..

the same problem as D31234

Jul 21 2021, 6:59 PM
dchagin updated the diff for D31234: umtx: Add bitset member to the struct umtx_q..

whoops, perhaps I fixed it

Jul 21 2021, 6:58 PM
dchagin updated the diff for D31234: umtx: Add bitset member to the struct umtx_q..

done

Jul 21 2021, 3:37 PM
dchagin added inline comments to D31239: linux(4): Replace copyin() by fueword32() in handle_futex_death()..
Jul 21 2021, 1:46 PM
dchagin added inline comments to D31234: umtx: Add bitset member to the struct umtx_q..
Jul 21 2021, 1:43 PM
dchagin added inline comments to D31254: linux(4): Replace casuword32 by casueword32 in handle_futex_death()..
Jul 21 2021, 9:27 AM
dchagin added a reviewer for D31254: linux(4): Replace casuword32 by casueword32 in handle_futex_death().: kib.
Jul 21 2021, 7:40 AM
dchagin requested review of D31254: linux(4): Replace casuword32 by casueword32 in handle_futex_death()..
Jul 21 2021, 7:40 AM
dchagin updated the diff for D31238: umtx: Split do_unlock_pi on two counterparts..

done,
sleep_pi may be should refactored to use this macros

Jul 21 2021, 7:38 AM
dchagin updated the diff for D31249: umtx: Expose struct abs_timeout to the rest of the kernel..

yes, I think you are right, moreover, inline should be droped from function as
the compiler can ignore the inline qualifier and generate calls to the function if
the code is compiled without optimization for example

Jul 21 2021, 7:12 AM

Jul 20 2021

dchagin updated the diff for D31238: umtx: Split do_unlock_pi on two counterparts..

done, thanks!

Jul 20 2021, 10:56 PM
dchagin updated the diff for D31249: umtx: Expose struct abs_timeout to the rest of the kernel..

Add umtx_ prefix to all abs_timeout facility, add declaration for it.
For consistency with others abs_timeout functions mark inline abs_timeout_init2.

Jul 20 2021, 10:40 PM
dchagin updated the diff for D31248: umtx: Split umtx.h on two counterparts..

blank line after { added in the umtx_key_match

Jul 20 2021, 10:27 PM
dchagin updated the diff for D31248: umtx: Split umtx.h on two counterparts..

done. thank you

Jul 20 2021, 10:25 PM
dchagin updated the diff for D31240: linux(4): Implement pi futexes using umtx..

style(9), comment about umtx_thread_exit,
fix error cleanup in case when futex succesfully acquired in lock_pi

Jul 20 2021, 10:14 PM
dchagin added a comment to D31247: freebsd32: Remove the unnecessary spaces..
In D31247#703645, @kib wrote:

Style requires a blank line before multi-line comment. Also it requires a blank line after end of the block described in the comment, in this case 422/423.

Jul 20 2021, 9:33 PM