Konstantin Belousov

73 posts

Konstantin Belousov

Konstantin Belousov

@kostikbel2

[email protected]

Katılım Aralık 2017
93 Takip Edilen108 Takipçiler
ZoneMinder
ZoneMinder@zoneminder·
Today we continued to try to figure out the problem with FreeBSD. It appears that c++ std::unique_locks are just not working. We lock in one thread, unlock in another the unlock doesn't appear to be happening. Anyone got insight on this? Doesn't affect Linux.
English
3
4
5
1.4K
Konstantin Belousov
Konstantin Belousov@kostikbel2·
@disruptnhandlr Do movcc to unmapped address, for instance. AFAIR traps in the transactional region are suppressed, but transactions are aborted.
English
1
0
1
0
Amir Ayupov
Amir Ayupov@disruptnhandlr·
Question to x86 experts: what’s the best way to conditionally cause an abort of a TSX transaction in a single instruction? xabort_cc would be it but there’s no such instruction.
English
4
1
1
0
Colin Percival
Colin Percival@cperciva·
FreeBSD boot time -= 1971 ms (my laptop) FreeBSD boot time -= 1997 ms (c5.xlarge EC2 instance) cgit.freebsd.org/src/commit/?id… The "Reviewed by" is a hint to how long I've been working on this patch: I emailed out the first version for review in August 2017.
English
2
11
72
0
Kyle Evans
Kyle Evans@kaevans91·
@cperciva Does this happen before SI_SUB_COPYRIGHT? i.e. was this the sucker introducing a three or even four second delay before the kernel started writing to the fb on my @FrameworkPuter?
English
2
0
0
0
Vincent Milum Jr
Vincent Milum Jr@DarkainMX·
FYI yet another reason why I absolutely LOVE @FreeBSD! Wanna run really old binaries? Sure, go for it. It "just works" out of the box thanks to these options. :) This means you can create a FreeBSD 4 jail on a FreeBSD 14 host.
English
1
7
27
0
Konstantin Belousov
Konstantin Belousov@kostikbel2·
@awesomekling ARMv8 8.7 List of LD* instructions goes from C6.2.98 to C6.2.177. Then ST* are in C6.2.248 to C6.2.311. Total 144.
English
0
0
0
0
Konstantin Belousov
Konstantin Belousov@kostikbel2·
Esp. if you start counting from the first change (~10 years ago) when trampolines were moved from stack to dedicated shared pages (to allow stacks be nx).
English
0
0
6
0
Konstantin Belousov
Konstantin Belousov@kostikbel2·
Signal trampolines on FreeBSD/amd64 (both 64bit and 32bit) are now proper shared libs. This is one of the most complicated NOPs I ever implemented.
English
1
2
30
0
Klara Inc.
Klara Inc.@klarainc·
Tell us when you started using #FreeBSD without telling us the version or the year!
English
31
2
7
0
Konstantin Belousov
Konstantin Belousov@kostikbel2·
@__phantomderp @bgianf Each return from kernel mode to userspace checks for pending signals and deliver them. Not only runtime calls, but also returns from hw interrupts (think timers). Look for e.g. setitimer(2) to get periodic nudge.
English
0
0
0
0
Warner Losh
Warner Losh@bsdimp·
Prior to this hint, this specific NVMe drive was nvme2: nvme2: <Generic NVMe Device> mem 0xe6b00000-0xe6b03fff irq 150 at device 0.0 numa-domain 2 on pci10 Serial(X) will also wire to uart unit to a serial with _UID X Next stop: Adding USB support (PCI and ACPI work now)
English
1
0
1
0
Warner Losh
Warner Losh@bsdimp·
Working on new hints: hint.nvme.77.at="UEFI:PcieRoot(2)/Pci(0x1,0x1)/Pci(0x0,0x0)" creates nvme77: <Generic NVMe Device> mem 0xe6b00000-0xe6b03fff irq 150 at device 0.0 numa-domain 2 on pci10 verify with # devctl getpath UEFI nvme77 PcieRoot(2)/Pci(0x1,0x1)/Pci(0x0,0x0)
English
1
0
2
0
Konstantin Belousov
Konstantin Belousov@kostikbel2·
@joshbloch Is it something about class init procedure? The class of the lambda is inner, so it waits for init lock of Oddity, while rules allow it continue if lambda class is nestingly inited in the same thread that Oddity.
English
0
0
0
0
Joshua Bloch
Joshua Bloch@joshbloch·
Puzzler: What's it print? Why? public class Oddity { private static int[] o = ThreadLocalRandom.current().ints() .limit(1000000) .parallel() .filter(i -> (i&1)==1).toArray(); public static void main(String[] args) { System.out.println(o.length); } }
English
24
18
125
0
Konstantin Belousov
Konstantin Belousov@kostikbel2·
@MOS_8502 0f 45 ... is cmovne, which is pentiumpro and later. K6-2 did not have that instructions. FreeBSD 13 (actually clang) compiles i386 code for ppro.
English
1
0
0
0
Konstantin Belousov
Konstantin Belousov@kostikbel2·
@MengTangmu @thatcks You are mixing vnode locks and range locks. In fact, on 13, if all pages to be read are resident, UFS does not take vnode lock for read at all (so not affected by e.g. fsync). But range lock is taken to guarantee atomicity.
English
1
0
0
0
Thomas Munro
Thomas Munro@MengTangmu·
@kostikbel2 @thatcks Yeah. But that is not a VFS limitation, it could set MNTK_SHARED_WRITES (like ZFS). Then it would have new synchronisation problems to solve, of course, but it would be very nice if fsync() and write() didn't block read() (longer version of this tweet: wiki.postgresql.org/wiki/FreeBSD/A…)
English
1
0
0
0