Revision tags: v6.2.1, v6.2.0, v6.3.0, v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0, v5.8.3, v5.8.2, v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3 |
|
#
6a71662e |
| 24-Jan-2020 |
Sascha Wildner <saw@online.de> |
kernel/ntfs: Fix lockinit() flags.
|
#
13dd34d8 |
| 18-Oct-2019 |
zrj <rimvydas.jasinskas@gmail.com> |
kernel: Cleanup <sys/uio.h> issues.
The iovec_free() inline very complicates this header inclusion. The NULL check is not always seen from <sys/_null.h>. Luckily only three kernel sources needs
kernel: Cleanup <sys/uio.h> issues.
The iovec_free() inline very complicates this header inclusion. The NULL check is not always seen from <sys/_null.h>. Luckily only three kernel sources needs it: kern_subr.c, sys_generic.c and uipc_syscalls.c. Also just a single dev/drm source makes use of 'struct uio'. * Include <sys/uio.h> explicitly first in drm_fops.c to avoid kfree() macro override in drm compat layer. * Use <sys/_uio.h> where only enums and struct uio is needed, but ensure that userland will not include it for possible later <sys/user.h> use. * Stop using <sys/vnode.h> as shortcut for uiomove*() prototypes. The uiomove*() family functions possibly transfer data across kernel/user space boundary. This header presence explicitly mark sources as such. * Prefer to add <sys/uio.h> after <sys/systm.h>, but before <sys/proc.h> and definitely before <sys/malloc.h> (except for 3 mentioned sources). This will allow to remove <sys/malloc.h> from <sys/uio.h> later on. * Adjust <sys/user.h> to use component headers instead of <sys/uio.h>.
While there, use opportunity for a minimal whitespace cleanup.
No functional differences observed in compiler intermediates.
show more ...
|
#
3f7b7260 |
| 23-Oct-2019 |
Sascha Wildner <saw@online.de> |
world/kernel: Use the rounddown2() macro in various places.
Tested-by: zrj
|
Revision tags: v5.6.2, v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3, v5.4.2, v5.4.1, v5.4.0, v5.5.0, v5.4.0rc1 |
|
#
e02350b6 |
| 26-Sep-2018 |
Sascha Wildner <saw@online.de> |
kernel/ntfs: Fix -Wundef.
|
Revision tags: v5.2.2, v5.2.1, v5.2.0, v5.3.0, v5.2.0rc, v5.0.2, v5.0.1, v5.0.0, v5.0.0rc2, v5.1.0, v5.0.0rc1, v4.8.1, v4.8.0, v4.6.2, v4.9.0, v4.8.0rc, v4.6.1 |
|
#
57e09377 |
| 07-Aug-2016 |
Matthew Dillon <dillon@apollo.backplane.com> |
kernel - Cleanup gcc warnings
* Cleanup gcc warnings at higher optimization levels. This will allow us to build kernels -O2 or -O3.
|
Revision tags: v4.6.0, v4.6.0rc2, v4.6.0rc, v4.7.0, v4.4.3, v4.4.2, v4.4.1, v4.4.0, v4.5.0, v4.4.0rc, v4.2.4, v4.3.1, v4.2.3, v4.2.1, v4.2.0, v4.0.6, v4.3.0, v4.2.0rc, v4.0.5, v4.0.4, v4.0.3, v4.0.2, v4.0.1, v4.0.0, v4.0.0rc3, v4.0.0rc2, v4.0.0rc, v4.1.0 |
|
#
ba87a4ab |
| 24-Aug-2014 |
Sascha Wildner <saw@online.de> |
kernel/spinlock: Add a description to struct spinlock.
And add it to spin_init() and SPINLOCK_INITIALIZER().
Submitted-by: dclink (see <http://bugs.dragonflybsd.org/issues/2714>) OK'd-by: dill
kernel/spinlock: Add a description to struct spinlock.
And add it to spin_init() and SPINLOCK_INITIALIZER().
Submitted-by: dclink (see <http://bugs.dragonflybsd.org/issues/2714>) OK'd-by: dillon
show more ...
|
Revision tags: v3.8.2, v3.8.1, v3.6.3, v3.8.0, v3.8.0rc2, v3.9.0, v3.8.0rc, v3.6.2 |
|
#
b07e7f2d |
| 27-Feb-2014 |
Antonio Huete Jimenez <tuxillo@quantumachine.net> |
kernel/ntfs - Fix buffer overlapping problems.
- Read only one cluster at a time. - Do not cache boot block.
Taken-from: FreeBSD's r118035 Dragonfly-bug: <http://bugs.dragonflybsd.org/issues/238
kernel/ntfs - Fix buffer overlapping problems.
- Read only one cluster at a time. - Do not cache boot block.
Taken-from: FreeBSD's r118035 Dragonfly-bug: <http://bugs.dragonflybsd.org/issues/2388>
(Commit refs #2388 and fixes #1853)
show more ...
|
#
173c3351 |
| 27-Feb-2014 |
Antonio Huete Jimenez <tuxillo@quantumachine.net> |
kernel/ntfs - Fix a possible problem in bufcache.
- Avoid different block size bread() calls for the same blkno. - Fix a bug in the code handling holes which could cause infinite loops.
Taken-f
kernel/ntfs - Fix a possible problem in bufcache.
- Avoid different block size bread() calls for the same blkno. - Fix a bug in the code handling holes which could cause infinite loops.
Taken-from: FreeBSD's r116620
show more ...
|
#
0249ae38 |
| 25-Feb-2014 |
Antonio Huete Jimenez <tuxillo@quantumachine.net> |
kernel/ntfs - Cleanup.
- Remove NetBSD specific code. - Removed few whitespaces.
|
#
39285282 |
| 25-Feb-2014 |
Antonio Huete Jimenez <tuxillo@quantumachine.net> |
kernel/ntfs - Fix warnings when compiling with NTFS_DEBUG
|
Revision tags: v3.6.1, v3.6.0, v3.7.1, v3.6.0rc, v3.7.0, v3.4.3, v3.4.2, v3.4.0, v3.4.1, v3.4.0rc, v3.5.0 |
|
#
cebef8bb |
| 10-Jan-2013 |
Sascha Wildner <saw@online.de> |
kernel: Silence gcc47's -Wcast-qual warnings.
|
Revision tags: v3.2.2, v3.2.1, v3.2.0, v3.3.0, v3.0.3 |
|
#
44480e31 |
| 17-Aug-2012 |
Matthew Dillon <dillon@apollo.backplane.com> |
kernel - Adjust UFS and HAMMER to use uiomovebp()
* Add uiomovebp(), a version of uiomove() which is aware of a locked bp representing the to or from buffer and can work-around issues related to
kernel - Adjust UFS and HAMMER to use uiomovebp()
* Add uiomovebp(), a version of uiomove() which is aware of a locked bp representing the to or from buffer and can work-around issues related to VM faults causing recursions and deadlocks on the user buffer.
uiomovebp() does not yet detect or handle deadlocks. Implementing deadlock handling will require a certain degree of finess related to the vnode and bp locks and we don't want to have to do it unless we actually deadlock. TODO.
* Adjust UFS, HAMMER, TMPFS, MSDOSFS, NFS, NTFS to use uiomovebp().
show more ...
|
#
1b0988d0 |
| 19-Jun-2012 |
Antonio Huete Jimenez <tuxillo@quantumachine.net> |
ntfs - Add NTFS_DEBUG kernel option.
Remove also CVS IDs from the files that still have it.
|
#
f3696fdb |
| 18-Jun-2012 |
Antonio Huete Jimenez <tuxillo@quantumachine.net> |
ntfs - Fix build with NTFS_DEBUG
|
#
39215f4c |
| 23-May-2012 |
Sascha Wildner <saw@online.de> |
kernel: Remove some bogus casts to the own type.
|
#
ed20d0e3 |
| 21-Apr-2012 |
Sascha Wildner <saw@online.de> |
kernel: Remove newlines from the panic messages that have one.
panic() itself will add a newline.
|
Revision tags: v3.0.2 |
|
#
dff43ec9 |
| 20-Feb-2012 |
Sascha Wildner <saw@online.de> |
Fix some typos.
|
Revision tags: v3.0.1, v3.1.0, v3.0.0 |
|
#
884717e1 |
| 06-Dec-2011 |
Sascha Wildner <saw@online.de> |
kernel: Replace all usage of MALLOC()/FREE() with kmalloc()/kfree().
|
#
86d7f5d3 |
| 26-Nov-2011 |
John Marino <draco@marino.st> |
Initial import of binutils 2.22 on the new vendor branch
Future versions of binutils will also reside on this branch rather than continuing to create new binutils branches for each new version.
|
#
54341a3b |
| 15-Nov-2011 |
Matthew Dillon <dillon@apollo.backplane.com> |
kernel - Greatly improve shared memory fault rate concurrency / shared tokens
This commit rolls up a lot of work to improve postgres database operations and the system in general. With this changes
kernel - Greatly improve shared memory fault rate concurrency / shared tokens
This commit rolls up a lot of work to improve postgres database operations and the system in general. With this changes we can pgbench -j 8 -c 40 on our 48-core opteron monster at 140000+ tps, and the shm vm_fault rate hits 3.1M pps.
* Implement shared tokens. They work as advertised, with some cavets.
It is acceptable to acquire a shared token while you already hold the same token exclusively, but you will deadlock if you acquire an exclusive token while you hold the same token shared.
Currently exclusive tokens are not given priority over shared tokens so starvation is possible under certain circumstances.
* Create a critical code path in vm_fault() using the new shared token feature to quickly fault-in pages which already exist in the VM cache. pmap_object_init_pt() also uses the new feature.
This increases fault-in concurrency by a ridiculously huge amount, particularly on SHM segments (say when you have a large number of postgres clients). Scaling for large numbers of clients on large numbers of cores is significantly improved.
This also increases fault-in concurrency for MAP_SHARED file maps.
* Expand the breadn() and cluster_read() APIs. Implement breadnx() and cluster_readx() which allows a getblk()'d bp to be passed. If *bpp is not NULL a bp is being passed in, otherwise the routines call getblk().
* Modify the HAMMER read path to use the new API. Instead of calling getcacheblk() HAMMER now calls getblk() and checks the B_CACHE flag. This gives getblk() a chance to regenerate a fully cached buffer from VM backing store without having to acquire any hammer-related locks, resulting in even faster operation.
* If kern.ipc.shm_use_phys is set to 2 the VM pages will be pre-allocated. This can take quite a while for a large map and also lock the machine up for a few seconds. Defaults to off.
* Reorder the smp_invltlb()/cpu_invltlb() combos in a few places, running cpu_invltlb() last.
* An invalidation interlock might be needed in pmap_enter() under certain circumstances, enable the code for now.
* vm_object_backing_scan_callback() was failing to properly check the validity of a vm_object after acquiring its token. Add the required check + some debugging.
* Make vm_object_set_writeable_dirty() a bit more cache friendly.
* The vmstats sysctl was scanning every process's vm_map (requiring a vm_map read lock to do so), which can stall for long periods of time when the system is paging heavily. Change the mechanic to a LWP flag which can be tested with minimal locking.
* Have the phys_pager mark the page as dirty too, to make sure nothing tries to free it.
* Remove the spinlock in pmap_prefault_ok(), since we do not delete page table pages it shouldn't be needed.
* Add a required cpu_ccfence() in pmap_inval.c. The code generated prior to this fix was still correct, and this makes sure it stays that way.
* Replace several manual wiring cases with calls to vm_page_wire().
show more ...
|
Revision tags: v2.12.0, v2.13.0, v2.10.1, v2.11.0, v2.10.0, v2.9.1, v2.8.2, v2.8.1, v2.8.0, v2.9.0, v2.6.3, v2.7.3, v2.6.2, v2.7.2, v2.7.1, v2.6.1, v2.7.0, v2.6.0, v2.5.1, v2.4.1, v2.5.0, v2.4.0 |
|
#
23731001 |
| 12-Sep-2009 |
Alexander Polakov <polachok@gmail.com> |
libiconv: convert NTFS to libiconv.
Partly-taken-from: FreeBSD
|
#
b9b0a6d0 |
| 23-Jul-2009 |
Matthew Dillon <dillon@apollo.backplane.com> |
HAMMER / VFS_VGET - Add optional dvp argument to VFS_VGET(). Fix readdirplus
* VGET is used by NFS to acquire a vnode given an inode number. HAMMER requires additional information to determine t
HAMMER / VFS_VGET - Add optional dvp argument to VFS_VGET(). Fix readdirplus
* VGET is used by NFS to acquire a vnode given an inode number. HAMMER requires additional information to determine the PFS the inode is being acquired from.
Add an optional directory vnode argument to the VGET. If non-NULL, HAMMER will extract the PFS information from this vnode.
* Adjust NFS to pass the dvp to VGET when doing a readdirplus.
Note that the PFS is already encoded in file handles, but readdirplus acquires the attributes for each directory entry it scans (readdir does not). This fixes readdirplus for NFS served HAMMER PFS exports.
show more ...
|
Revision tags: v2.3.2, v2.3.1, v2.2.1 |
|
#
2038fb68 |
| 06-Apr-2009 |
Sascha Wildner <saw@online.de> |
Replace all casts of NULL to something with NULL.
|
Revision tags: v2.2.0, v2.3.0 |
|
#
9e758ef5 |
| 20-Dec-2008 |
Sascha Wildner <saw@online.de> |
Eliminate some dead initialization.
Found-by: LLVM/Clang Static Analyzer
|
Revision tags: v2.1.1, v2.0.1 |
|
#
e7b4468c |
| 05-Jan-2008 |
Sascha Wildner <swildner@dragonflybsd.org> |
For kmalloc(), MALLOC() and contigmalloc(), use M_ZERO instead of explicitly bzero()ing.
Reviewed-by: sephe
|