History log of /netbsd-src/sys/dev/ccd.c (Results 1 – 25 of 192)
Revision Date Author Comments
# 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.


12345678