ntb_perf: Add ntb_perf Makefile
- Queries
- All Stories
- Search
- Advanced Search
- Transactions
- Transaction Logs
All Stories
Dec 9 2019
Fix build errors for i386 and remove unecessary locks.
@mav: Apologies for the delay. I have not been able to get my hands on the ntb setup to test this thoroughly. However, I did fix the warnings and build errors. I will try once the setup is available.
Please try this on your setup and let me know if you face any issues.
Reporting an "error too many tables" is useful for adding a new table.
It's wrong for deleting and misleading for obtaining statistics.
Reviewed By: allanjude
FWIW,
It looks like we should update
contrib/libc++/include/__config around line 348.
I don't know why this did not auto close. Landed in https://svnweb.freebsd.org/base?view=revision&revision=355537
Dec 8 2019
I beleive that we need a counter of the delayed-unswapped pages.
After discussion with kib I believe this permits the removal of the page lock in vm_fault_dirty(). Kib was also concerned about delayed freeing of swap space impacting behavior under memory pressure and requested counters. I believe the page daemon will be active enough in this time that the delay should not be a significant problem.
- rebase on head
- put back checking for VI_ACTIVE. the invariant does not hold because vnlru reclaim can bump hold count without actually moving lists and later abort it if someone else bumped usecount. this is a bug since a used vnodes does not land on the active list. I'll propose a patch which happens to eliminate the problem as a side effect. In the meantime keep the bug-to-bug compatibility
Make more clear that the new function is not used by the kernel.
In D22728#497480, @kib wrote:I was bitten by use of seemingly kernel-only headers in userspace too many times. I believe that it is much better to not try to adapt vm/vm_map.h inlines to userspace, but have separate code in libprocstat, as Mark suggested.
I was bitten by use of seemingly kernel-only headers in userspace too many times. I believe that it is much better to not try to adapt vm/vm_map.h inlines to userspace, but have separate code in libprocstat, as Mark suggested.
Add comment. Change vm_map_entry_read_succ so that it leaves the next entry in vmentry, and doesn't only return the pointer to that entry.
In D22728#497472, @dougm wrote:In D22728#497468, @markj wrote:I don't have an objection to this approach, but it's kind of unusual when compared with other routines which use libkvm. That is, I would just implement entry_read_succ directly in libprocstat. With this patch, libprocstat still embed details of the implementation (such as the fact that iteration terminates after visiting the header) so we still do not get a clean separation between userspace and the kernel, and vm_map_entry_read_succ() is harder to understand because of the indirection through "reader".
I don't want the implement of threaded trees leaking out of vm_map.[ch]. I probably should have not inlined it, and put it in vm_map.c. I don't want to bring kvm into vm_map.[ch], so 'reader' seems the best separation I can manage. I could define start and end functions to more clearly separate 'header' from libprocstat.
In D22728#497468, @markj wrote:I don't have an objection to this approach, but it's kind of unusual when compared with other routines which use libkvm. That is, I would just implement entry_read_succ directly in libprocstat. With this patch, libprocstat still embed details of the implementation (such as the fact that iteration terminates after visiting the header) so we still do not get a clean separation between userspace and the kernel, and vm_map_entry_read_succ() is harder to understand because of the indirection through "reader".
I don't have an objection to this approach, but it's kind of unusual when compared with other routines which use libkvm. That is, I would just implement entry_read_succ directly in libprocstat. With this patch, libprocstat still embed details of the implementation (such as the fact that iteration terminates after visiting the header) so we still do not get a clean separation between userspace and the kernel, and vm_map_entry_read_succ() is harder to understand because of the indirection through "reader".
Can you commit just the move of the block of code to free the vnode into freevnode() ? The rest of changes would be easier to see then, esp. in reshuffling the asserts, if any.