| #
d0b020c0 |
| 08-Jan-2025 |
andvar <andvar@NetBSD.org> |
s/componets/components/ in comment.
|
| #
c1fde472 |
| 12-Apr-2024 |
pgoyette <pgoyette@NetBSD.org> |
Repair handling of ccd sysctls to not use newp as an index.
This is a work-around for kern/58051. It is not a complete fix.
|
| #
79f4a4f8 |
| 31-Mar-2024 |
hannken <hannken@NetBSD.org> |
Using a ccd(4) with GPT (dk* at ccd*) the disk framework will call ccdstrategy() -> ccdstart() -> ccdbuffer() from softint context. Allocating the buffer with PR_WAITOK here is forbidden.
Change cc
Using a ccd(4) with GPT (dk* at ccd*) the disk framework will call ccdstrategy() -> ccdstart() -> ccdbuffer() from softint context. Allocating the buffer with PR_WAITOK here is forbidden.
Change ccdstart() / ccdbuffer() to report failure back to caller and pass PR_WAITOK / PR_NOWAIT as an additional argument.
Call ccdstart() with PR_NOPWAIT from ccdstrategy() and on error defer to the kthread. Call ccdstart() with PR_WAITOK from kthread so requests from kthread always succeed to allocate the buffers.
Remove the (non working) throttling on low memory as it is no longer needed.
Fixes PR kern/58043 "kernel crash in assert_sleepable() in -current, dk(4) driver?"
show more ...
|
| #
fd1c7fef |
| 28-Mar-2022 |
riastradh <riastradh@NetBSD.org> |
sys/dev/ccd.c: Restore historic RCS id.
This got munged accidentally by `git cvsexportcommit -k' -- taking that option out of my commitbomb script!
|
| #
e7bed289 |
| 28-Mar-2022 |
riastradh <riastradh@NetBSD.org> |
driver(9): devsw_detach never fails. Make it return void.
Prune a whole lotta dead branches as a result of this. (Some logic calling this is also wrong for other reasons; devsw_detach is final --
driver(9): devsw_detach never fails. Make it return void.
Prune a whole lotta dead branches as a result of this. (Some logic calling this is also wrong for other reasons; devsw_detach is final -- you should never have any reason to decide to roll it back. To be cleaned up in subsequent commits...)
XXX kernel ABI change to devsw_detach signature requires bump
show more ...
|
| #
5a9cf8fc |
| 12-Mar-2022 |
riastradh <riastradh@NetBSD.org> |
ccd(4): Only pathbuf_destroy if pathbuf_copyin succeeded.
Reported-by: syzbot+a46aadc788a80afc8742@syzkaller.appspotmail.com
|
| #
948b2359 |
| 11-Feb-2022 |
riastradh <riastradh@NetBSD.org> |
ccd(4): Fix typo in comment.
|
| #
7686d3bd |
| 06-Oct-2020 |
mlelstv <mlelstv@NetBSD.org> |
Fix ioctl locking. Add dkdriver.
|
| #
4b8a875a |
| 11-Jun-2020 |
ad <ad@NetBSD.org> |
uvm_availmem(): give it a boolean argument to specify whether a recent cached value will do, or if the very latest total must be fetched. It can be called thousands of times a second and fetching th
uvm_availmem(): give it a boolean argument to specify whether a recent cached value will do, or if the very latest total must be fetched. It can be called thousands of times a second and fetching the totals impacts not only the calling LWP but other CPUs doing unrelated activity in the VM system.
show more ...
|
| #
5c06357c |
| 31-Dec-2019 |
ad <ad@NetBSD.org> |
Rename uvm_free() -> uvm_availmem().
|
| #
ddd3a0be |
| 21-Dec-2019 |
ad <ad@NetBSD.org> |
uvmexp.free -> uvm_free()
|
| #
5a52f2af |
| 08-Dec-2019 |
mlelstv <mlelstv@NetBSD.org> |
Switch to vn_bdev_open* functions.
|
| #
97b627ec |
| 07-Aug-2019 |
pgoyette <pgoyette@NetBSD.org> |
Many years ago someone created a new __link_set_sysctl_funcs to hold the list of routines that need to be called for setting up sysctl variables. This worked great for all code included in the kerne
Many years ago someone created a new __link_set_sysctl_funcs to hold the list of routines that need to be called for setting up sysctl variables. This worked great for all code included in the kernel itself, but didn't deal with modules that want to create their own sysctl data. So, we ended up with a lot of #ifdef _MODULE blocks so modules could explicitly call their setup functions when loaded as non-built-in modules.
So today, we complete the task that was started so many years ago.
When modules are loaded, after we've called xxx_modcmd(INIT...) we check if the module contains its own __link_set_sysctl_funcs, and if so we call the functions listed. We add a struct sysctllog member to the struct module so we can call sysctl_teardown() when the module gets unloaded. (The sequence of events ensures that the sysctl stuff doesn't get created until the rest of the module's init code does any required memory allocation.)
So, no more need to explicitly call the sysctl setup routines when built as a loadable module.
show more ...
|
| #
ad4912fd |
| 27-Mar-2019 |
martin <martin@NetBSD.org> |
Add a disk ioctl DIOCRMWEDGES to remove all wedges of a given disk (if not busy).
|
| #
8c2f80f1 |
| 01-Mar-2019 |
pgoyette <pgoyette@NetBSD.org> |
Rename the MODULE_*_HOOK() macros to MODULE_HOOK_*() as briefly discussed on irc.
NFCI intended.
Ride the earlier kernel bump - it;s getting crowded.
|
| #
d91f98a8 |
| 27-Jan-2019 |
pgoyette <pgoyette@NetBSD.org> |
Merge the [pgoyette-compat] branch
|
| #
e634efa8 |
| 18-Mar-2018 |
christos <christos@NetBSD.org> |
factor out the ccd COMPAT_60 code.
|
| #
9d1eb470 |
| 23-Jan-2018 |
pgoyette <pgoyette@NetBSD.org> |
Add "bufq_fcfs" requirement to all those driver modules that explicitly request it in their calls to bufq_alloc().
|
| #
ee984189 |
| 19-Dec-2017 |
pgoyette <pgoyette@NetBSD.org> |
Ooppss, need an ampersand call calling LIST_EMPTY() macro
|
| #
c09700cf |
| 19-Dec-2017 |
pgoyette <pgoyette@NetBSD.org> |
There is currently a counter nactive which tracks the INSERT and REMOVE of entries in the ccds LIST.
Since the counter is checked only when the ccd module is being unloaded, remove the counter compl
There is currently a counter nactive which tracks the INSERT and REMOVE of entries in the ccds LIST.
Since the counter is checked only when the ccd module is being unloaded, remove the counter completely and just check for LIST_EMPTY(ccds).
No functional change intended.
show more ...
|
| #
fd34ea77 |
| 01-Jun-2017 |
chs <chs@NetBSD.org> |
remove checks for failure after memory allocation calls that cannot fail:
kmem_alloc() with KM_SLEEP kmem_zalloc() with KM_SLEEP percpu_alloc() pserialize_create() psref_class_create()
al
remove checks for failure after memory allocation calls that cannot fail:
kmem_alloc() with KM_SLEEP kmem_zalloc() with KM_SLEEP percpu_alloc() pserialize_create() psref_class_create()
all of these paths include an assertion that the allocation has not failed, so callers should not assert that again.
show more ...
|
| #
1af402fe |
| 05-Apr-2017 |
jdolecek <jdolecek@NetBSD.org> |
introduce DKCACHE_COMBINE() macro - it combines the flags in a way that all common flags are retained, and flags regarding write cache are preserved if either of the devices has it; callers can thus
introduce DKCACHE_COMBINE() macro - it combines the flags in a way that all common flags are retained, and flags regarding write cache are preserved if either of the devices has it; callers can thus rely on write cache not being possible to be used when both flags are missing
use the new macro for ccd(4)
show more ...
|
| #
22308629 |
| 30-Mar-2017 |
jdolecek <jdolecek@NetBSD.org> |
support DIOCGCACHE - result is intersection of flags returned by underlying devices; devices can't be added or removed, so the feature flags remain static
add support for DIOCGSTRATEGY while here, m
support DIOCGCACHE - result is intersection of flags returned by underlying devices; devices can't be added or removed, so the feature flags remain static
add support for DIOCGSTRATEGY while here, mainly to make dkctl(8) output neater
show more ...
|
| #
ba576b71 |
| 05-Mar-2017 |
mlelstv <mlelstv@NetBSD.org> |
Enhance disk metrics by calculating a weighted sum that is incremented by the number of concurrent I/O requests. Also introduce a new disk_wait() function to measure requests waiting in a bufq. iosta
Enhance disk metrics by calculating a weighted sum that is incremented by the number of concurrent I/O requests. Also introduce a new disk_wait() function to measure requests waiting in a bufq. iostat -y now reports data about waiting and active requests.
So far only drivers using dksubr and dk, ccd, wd and xbd collect data about waiting requests.
show more ...
|
| #
e38abff0 |
| 20-Nov-2016 |
pgoyette <pgoyette@NetBSD.org> |
Avoid calling bufq_free() from critical section.
|