User Details
- User Since
- Mar 12 2014, 1:00 AM (627 w, 1 d)
Today
From what I can see, now, we initialize the mutex only if sc_midi_chan.valid is true, but we will destroy it unconditionally, so we might destroy an uninitialized mutex.
The commit log message should be a bit more explicit. Describing the implementation as "branchless" makes it sound like you are micro-optimizing the code to avoid branches, but really this change is just factoring out the backend of the driver into separate functions. I presume this is to make the code easier to read and modify.
Sun, Mar 15
Add an isfd check
Sat, Mar 14
Wed, Mar 11
Is this covered by the timerfd tests you posted already?
A bit tangential, but: we found a while back that it was possible to trivially livelock a core by scheduling timeouts of 1ns using EVFILT_TIMER or setitimer(). Basically, it takes longer than the callout interval to execute the callout handler, so the callout handler ends up running in a loop.
I think the tests are ok, though as before the errno checking doesn't seem very useful. I'm also not sure about this leak detection stuff, I would probably inline it into the timerfd.c tests if we're going to keep it. With ATF each test runs in its own process so fd leaks aren't really a problem, and many existing test cases are not careful to close fds.
Tue, Mar 10
It's hard for me to understand what this change does, or the tradeoffs involved, without a commit log message.
I think this is fine. It's a bit of layering violation since opensolaris is supposed to be able to serve multiple consumers (dtrace and ZFS in the past, just dtrace now). I'm in favour of converting assertion and print function calls in dtrace to just using FreeBSD interfaces directly.
Looks ok to me.
Sun, Mar 8
Sat, Mar 7
This removes the smr_advance() calls, but also the clearing of the addr/port. Is it intentional?
Thu, Mar 5
Wed, Mar 4
Add some prints
Mon, Mar 2
Sun, Mar 1
Fri, Feb 27
Rather than preemptively dirtying pages, make the map read-only unless all pages are already dirty.
Looks ok with one nit fixed.
Does it actually make a difference in generated code? I would expect a compiler to be able to do this transformation.
Thu, Feb 26
https://reviews.freebsd.org/D55536 is my attempt at a solution.
vm_fault_soft_fast() is careful to create a writable superpage mapping only if all constituent pages are dirty. In that case it will preset PG_M by setting fs->fault_type |= VM_PROT_WRITE. More generally, there is an invariant that writable superpage mappings are dirty, which is what the assertion is complaining about.
Wed, Feb 25
I'm not sure about a 3 day MFC timeout, but I'm also not sure that any significant number of people are using this code on main.
Why exactly do you use a device interface rather than a sysctl? Is it just to make the functionality available to non-root users (i.e., members of the operator group)?