games/dab/main.cc
83
p[0]->wl(p[1]->getScore());
games/dab/main.cc
84
p[1]->wl(p[0]->getScore());
games/dab/player.h
61
void wl(size_t sc);
lib/libcurses/delwin.c
54
struct __winlist *wl, *pwl;
lib/libcurses/delwin.c
84
for (wl = screen->winlistp; wl; pwl = wl, wl = wl->nextp) {
lib/libcurses/delwin.c
85
if (wl->winp != win)
lib/libcurses/delwin.c
88
pwl->nextp = wl->nextp;
lib/libcurses/delwin.c
90
screen->winlistp = wl->nextp;
lib/libcurses/delwin.c
91
free(wl);
sys/arch/luna68k/dev/omrasops.c
1043
wl = width & 0x1f;
sys/arch/luna68k/dev/omrasops.c
1048
mask = ALL1BITS << (32 - wl);
sys/arch/luna68k/dev/omrasops.c
655
int wl;
sys/arch/luna68k/dev/omrasops.c
772
wl = width & 0x1f;
sys/arch/luna68k/dev/omrasops.c
777
mask = ALL1BITS << (32 - wl);
sys/arch/luna68k/dev/omrasops.c
832
int wl;
sys/dev/hdaudio/hdafg.c
3889
struct hdaudio_widget *wl, *w = sc->sc_widgets;
sys/dev/hdaudio/hdafg.c
3913
wl = hdafg_widget_lookup(sc, nid);
sys/dev/hdaudio/hdafg.c
3914
if (wl == NULL || wl->w_type != COP_AWCAP_TYPE_PIN_COMPLEX)
sys/dev/hdaudio/hdafg.c
3916
hdafg_widget_setconfig(wl, wl->w_pin.biosconfig);
sys/dev/ic/isp.c
759
uint32_t la, wi, wl;
sys/dev/ic/isp.c
765
wl = ptr[3];
sys/dev/ic/isp.c
772
if (nw > wl) {
sys/dev/ic/isp.c
773
nw = wl;
sys/dev/ic/isp.c
778
wl--;
sys/dev/ic/isp.c
819
uint16_t wi, wl, segno;
sys/dev/ic/isp.c
831
wl = ptr[3];
sys/dev/ic/isp.c
838
if (nw > wl) {
sys/dev/ic/isp.c
839
nw = wl;
sys/dev/ic/isp.c
847
wl--;
sys/kern/vfs_wapbl.c
1001
wapbl_doio_accounting(wl->wl_devvp, bp->b_flags);
sys/kern/vfs_wapbl.c
1003
KASSERT(TAILQ_FIRST(&wl->wl_iobufs) == bp);
sys/kern/vfs_wapbl.c
1004
TAILQ_REMOVE(&wl->wl_iobufs, bp, b_wapbllist);
sys/kern/vfs_wapbl.c
1012
VOP_STRATEGY(wl->wl_devvp, bp);
sys/kern/vfs_wapbl.c
1014
wl->wl_ev_journalwrite.ev_count++;
sys/kern/vfs_wapbl.c
1016
TAILQ_INSERT_TAIL(&wl->wl_iobufs_busy, bp, b_wapbllist);
sys/kern/vfs_wapbl.c
1025
wapbl_buffered_flush(struct wapbl *wl, bool full)
sys/kern/vfs_wapbl.c
1032
if ((bp = TAILQ_FIRST(&wl->wl_iobufs)) && bp->b_resid > 0)
sys/kern/vfs_wapbl.c
1033
wapbl_buffered_write_async(wl, bp);
sys/kern/vfs_wapbl.c
1037
TAILQ_FOREACH_SAFE(bp, &wl->wl_iobufs_busy, b_wapbllist, bnext) {
sys/kern/vfs_wapbl.c
1045
wl->wl_ev_jbufs_bio_nowait.ev_count++;
sys/kern/vfs_wapbl.c
1047
TAILQ_REMOVE(&wl->wl_iobufs_busy, bp, b_wapbllist);
sys/kern/vfs_wapbl.c
1052
TAILQ_INSERT_TAIL(&wl->wl_iobufs, bp, b_wapbllist);
sys/kern/vfs_wapbl.c
1059
if (!found && only_done && !TAILQ_EMPTY(&wl->wl_iobufs_busy)) {
sys/kern/vfs_wapbl.c
1075
wapbl_buffered_write(void *data, size_t len, struct wapbl *wl, daddr_t pbn,
sys/kern/vfs_wapbl.c
1082
bp = TAILQ_FIRST(&wl->wl_iobufs);
sys/kern/vfs_wapbl.c
1086
wapbl_buffered_flush(wl, false);
sys/kern/vfs_wapbl.c
1088
bp = TAILQ_FIRST(&wl->wl_iobufs);
sys/kern/vfs_wapbl.c
1097
wapbl_buffered_write_async(wl, bp);
sys/kern/vfs_wapbl.c
1129
wapbl_buffered_write_async(wl, bp);
sys/kern/vfs_wapbl.c
1157
wapbl_circ_write(struct wapbl *wl, void *data, size_t len, off_t *offp)
sys/kern/vfs_wapbl.c
1164
KDASSERT(((len >> wl->wl_log_dev_bshift) << wl->wl_log_dev_bshift) ==
sys/kern/vfs_wapbl.c
1167
if (off < wl->wl_circ_off)
sys/kern/vfs_wapbl.c
1168
off = wl->wl_circ_off;
sys/kern/vfs_wapbl.c
1169
slen = wl->wl_circ_off + wl->wl_circ_size - off;
sys/kern/vfs_wapbl.c
1171
pbn = wl->wl_logpbn + (off >> wl->wl_log_dev_bshift);
sys/kern/vfs_wapbl.c
1173
pbn = btodb(pbn << wl->wl_log_dev_bshift);
sys/kern/vfs_wapbl.c
1175
error = wapbl_buffered_write(data, slen, wl, pbn,
sys/kern/vfs_wapbl.c
1176
WAPBL_JDATA_FLAGS(wl));
sys/kern/vfs_wapbl.c
1181
off = wl->wl_circ_off;
sys/kern/vfs_wapbl.c
1183
pbn = wl->wl_logpbn + (off >> wl->wl_log_dev_bshift);
sys/kern/vfs_wapbl.c
1185
pbn = btodb(pbn << wl->wl_log_dev_bshift);
sys/kern/vfs_wapbl.c
1187
error = wapbl_buffered_write(data, len, wl, pbn,
sys/kern/vfs_wapbl.c
1188
WAPBL_JDATA_FLAGS(wl));
sys/kern/vfs_wapbl.c
1192
if (off >= wl->wl_circ_off + wl->wl_circ_size)
sys/kern/vfs_wapbl.c
1193
off = wl->wl_circ_off;
sys/kern/vfs_wapbl.c
1204
wapbl_begin(struct wapbl *wl, const char *file, int line)
sys/kern/vfs_wapbl.c
1209
KDASSERT(wl);
sys/kern/vfs_wapbl.c
1216
mutex_enter(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
1217
lockcount = wl->wl_lock_count;
sys/kern/vfs_wapbl.c
1218
doflush = ((wl->wl_bufbytes + (lockcount * MAXPHYS)) >
sys/kern/vfs_wapbl.c
1219
wl->wl_bufbytes_max / 2) ||
sys/kern/vfs_wapbl.c
1220
((wl->wl_bufcount + (lockcount * 10)) >
sys/kern/vfs_wapbl.c
1221
wl->wl_bufcount_max / 2) ||
sys/kern/vfs_wapbl.c
1222
(wapbl_transaction_len(wl) > wl->wl_circ_size / 2) ||
sys/kern/vfs_wapbl.c
1223
(wl->wl_dealloccnt >= (wl->wl_dealloclim / 2));
sys/kern/vfs_wapbl.c
1224
mutex_exit(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
1231
lockcount, wl->wl_bufbytes,
sys/kern/vfs_wapbl.c
1232
wl->wl_bufbytes_max, wl->wl_bufcount,
sys/kern/vfs_wapbl.c
1233
wl->wl_bufcount_max,
sys/kern/vfs_wapbl.c
1234
wl->wl_dealloccnt, wl->wl_dealloclim));
sys/kern/vfs_wapbl.c
1238
int error = wapbl_flush(wl, 0);
sys/kern/vfs_wapbl.c
1243
rw_enter(&wl->wl_rwlock, RW_READER);
sys/kern/vfs_wapbl.c
1244
mutex_enter(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
1245
wl->wl_lock_count++;
sys/kern/vfs_wapbl.c
1246
mutex_exit(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
1252
curproc->p_pid, curlwp->l_lid, wl->wl_bufcount,
sys/kern/vfs_wapbl.c
1253
wl->wl_bufbytes, wl->wl_bcount, file, line));
sys/kern/vfs_wapbl.c
1260
wapbl_end(struct wapbl *wl)
sys/kern/vfs_wapbl.c
1267
curproc->p_pid, curlwp->l_lid, wl->wl_bufcount,
sys/kern/vfs_wapbl.c
1268
wl->wl_bufbytes, wl->wl_bcount));
sys/kern/vfs_wapbl.c
1276
KASSERTMSG((wapbl_transaction_len(wl) <=
sys/kern/vfs_wapbl.c
1277
(wl->wl_circ_size - wl->wl_reserved_bytes)),
sys/kern/vfs_wapbl.c
1280
mutex_enter(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
1281
KASSERT(wl->wl_lock_count > 0);
sys/kern/vfs_wapbl.c
1282
wl->wl_lock_count--;
sys/kern/vfs_wapbl.c
1283
mutex_exit(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
1285
rw_exit(&wl->wl_rwlock);
sys/kern/vfs_wapbl.c
1289
wapbl_add_buf(struct wapbl *wl, struct buf * bp)
sys/kern/vfs_wapbl.c
1295
wapbl_jlock_assert(wl);
sys/kern/vfs_wapbl.c
1307
mutex_enter(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
1309
TAILQ_REMOVE(&wl->wl_bufs, bp, b_wapbllist);
sys/kern/vfs_wapbl.c
1318
wl->wl_bufbytes += bp->b_bufsize;
sys/kern/vfs_wapbl.c
1319
wl->wl_bcount += bp->b_bcount;
sys/kern/vfs_wapbl.c
1320
wl->wl_bufcount++;
sys/kern/vfs_wapbl.c
1327
TAILQ_INSERT_TAIL(&wl->wl_bufs, bp, b_wapbllist);
sys/kern/vfs_wapbl.c
1328
mutex_exit(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
1334
wapbl_remove_buf_locked(struct wapbl * wl, struct buf *bp)
sys/kern/vfs_wapbl.c
1337
KASSERT(mutex_owned(&wl->wl_mtx));
sys/kern/vfs_wapbl.c
1339
wapbl_jlock_assert(wl);
sys/kern/vfs_wapbl.c
1358
KASSERT(wl->wl_bufbytes >= bp->b_bufsize);
sys/kern/vfs_wapbl.c
1359
wl->wl_bufbytes -= bp->b_bufsize;
sys/kern/vfs_wapbl.c
1360
KASSERT(wl->wl_bcount >= bp->b_bcount);
sys/kern/vfs_wapbl.c
1361
wl->wl_bcount -= bp->b_bcount;
sys/kern/vfs_wapbl.c
1362
KASSERT(wl->wl_bufcount > 0);
sys/kern/vfs_wapbl.c
1363
wl->wl_bufcount--;
sys/kern/vfs_wapbl.c
1364
KASSERT((wl->wl_bufcount == 0) == (wl->wl_bufbytes == 0));
sys/kern/vfs_wapbl.c
1365
KASSERT((wl->wl_bufcount == 0) == (wl->wl_bcount == 0));
sys/kern/vfs_wapbl.c
1366
TAILQ_REMOVE(&wl->wl_bufs, bp, b_wapbllist);
sys/kern/vfs_wapbl.c
1373
wapbl_remove_buf(struct wapbl * wl, struct buf *bp)
sys/kern/vfs_wapbl.c
1376
mutex_enter(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
1377
wapbl_remove_buf_locked(wl, bp);
sys/kern/vfs_wapbl.c
1378
mutex_exit(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
1382
wapbl_resize_buf(struct wapbl *wl, struct buf *bp, long oldsz, long oldcnt)
sys/kern/vfs_wapbl.c
1393
mutex_enter(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
1394
wl->wl_bufbytes += bp->b_bufsize - oldsz;
sys/kern/vfs_wapbl.c
1395
wl->wl_bcount += bp->b_bcount - oldcnt;
sys/kern/vfs_wapbl.c
1396
mutex_exit(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
1533
wapbl_truncate(struct wapbl *wl, size_t minfree)
sys/kern/vfs_wapbl.c
1541
KASSERT(minfree <= (wl->wl_circ_size - wl->wl_reserved_bytes));
sys/kern/vfs_wapbl.c
1542
KASSERT(rw_write_held(&wl->wl_rwlock));
sys/kern/vfs_wapbl.c
1544
mutex_enter(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
1550
avail = wapbl_space_free(wl->wl_circ_size, wl->wl_head, wl->wl_tail);
sys/kern/vfs_wapbl.c
1552
mutex_exit(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
1556
while (wl->wl_error_count == 0 &&
sys/kern/vfs_wapbl.c
1557
wl->wl_reclaimable_bytes < minfree) {
sys/kern/vfs_wapbl.c
1561
&wl->wl_reclaimable_bytes,
sys/kern/vfs_wapbl.c
1562
wl, wl->wl_reclaimable_bytes, minfree));
sys/kern/vfs_wapbl.c
1563
cv_wait(&wl->wl_reclaimable_cv, &wl->wl_mtx);
sys/kern/vfs_wapbl.c
1565
if (wl->wl_reclaimable_bytes < minfree) {
sys/kern/vfs_wapbl.c
1566
KASSERT(wl->wl_error_count);
sys/kern/vfs_wapbl.c
1570
head = wl->wl_head;
sys/kern/vfs_wapbl.c
1571
tail = wl->wl_tail;
sys/kern/vfs_wapbl.c
1572
delta = wl->wl_reclaimable_bytes;
sys/kern/vfs_wapbl.c
1578
if (SIMPLEQ_EMPTY(&wl->wl_entries) && delta >= wl->wl_reserved_bytes) {
sys/kern/vfs_wapbl.c
1579
delta -= wl->wl_reserved_bytes;
sys/kern/vfs_wapbl.c
1581
wapbl_advance_tail(wl->wl_circ_size, wl->wl_circ_off, delta, &head,
sys/kern/vfs_wapbl.c
1583
KDASSERT(wl->wl_reserved_bytes <=
sys/kern/vfs_wapbl.c
1584
wapbl_space_used(wl->wl_circ_size, head, tail));
sys/kern/vfs_wapbl.c
1585
mutex_exit(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
1598
error = wapbl_write_commit(wl, head, tail);
sys/kern/vfs_wapbl.c
1602
wl->wl_head = head;
sys/kern/vfs_wapbl.c
1603
wl->wl_tail = tail;
sys/kern/vfs_wapbl.c
1605
mutex_enter(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
1606
KASSERT(wl->wl_reclaimable_bytes >= delta);
sys/kern/vfs_wapbl.c
1607
wl->wl_reclaimable_bytes -= delta;
sys/kern/vfs_wapbl.c
1608
mutex_exit(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
1622
struct wapbl *wl;
sys/kern/vfs_wapbl.c
1628
wl = we->we_wapbl;
sys/kern/vfs_wapbl.c
1635
if (!wl) {
sys/kern/vfs_wapbl.c
1672
mutex_enter(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
1673
if (wl->wl_error_count == 0) {
sys/kern/vfs_wapbl.c
1674
wl->wl_error_count++;
sys/kern/vfs_wapbl.c
1675
cv_broadcast(&wl->wl_reclaimable_cv);
sys/kern/vfs_wapbl.c
1677
mutex_exit(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
1694
mutex_enter(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
1701
KASSERT(wl->wl_unsynced_bufbytes >= bufsize);
sys/kern/vfs_wapbl.c
1702
wl->wl_unsynced_bufbytes -= bufsize;
sys/kern/vfs_wapbl.c
1704
wl->wl_ev_metawrite.ev_count++;
sys/kern/vfs_wapbl.c
1722
while ((we = SIMPLEQ_FIRST(&wl->wl_entries)) &&
sys/kern/vfs_wapbl.c
1727
SIMPLEQ_REMOVE_HEAD(&wl->wl_entries, we_entries);
sys/kern/vfs_wapbl.c
1732
wl->wl_reclaimable_bytes += delta;
sys/kern/vfs_wapbl.c
1733
KASSERT(wl->wl_error_count >= errcnt);
sys/kern/vfs_wapbl.c
1734
wl->wl_error_count -= errcnt;
sys/kern/vfs_wapbl.c
1735
cv_broadcast(&wl->wl_reclaimable_cv);
sys/kern/vfs_wapbl.c
1739
mutex_exit(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
1761
wapbl_flush(struct wapbl *wl, int waitfor)
sys/kern/vfs_wapbl.c
1780
mutex_enter(&wl->wl_mtx); /* XXX need mutex here to
sys/kern/vfs_wapbl.c
1782
nbufs = wl->wl_bufcount;
sys/kern/vfs_wapbl.c
1783
KASSERT((wl->wl_bufcount == 0) == (wl->wl_bufbytes == 0));
sys/kern/vfs_wapbl.c
1784
KASSERT((wl->wl_bufcount == 0) == (wl->wl_bcount == 0));
sys/kern/vfs_wapbl.c
1785
mutex_exit(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
1794
rw_enter(&wl->wl_rwlock, RW_WRITER);
sys/kern/vfs_wapbl.c
1795
wl->wl_flush(wl->wl_mount, TAILQ_FIRST(&wl->wl_dealloclist));
sys/kern/vfs_wapbl.c
1808
if (wl->wl_bufcount == 0) {
sys/kern/vfs_wapbl.c
1816
curproc->p_pid, curlwp->l_lid, wl->wl_bufcount,
sys/kern/vfs_wapbl.c
1817
wl->wl_bufbytes));
sys/kern/vfs_wapbl.c
1821
flushsize = wapbl_transaction_len(wl);
sys/kern/vfs_wapbl.c
1830
if (flushsize > (wl->wl_circ_size - wl->wl_reserved_bytes)) {
sys/kern/vfs_wapbl.c
1839
error = wapbl_truncate(wl, flushsize);
sys/kern/vfs_wapbl.c
1843
off = wl->wl_head;
sys/kern/vfs_wapbl.c
1844
KASSERT(off == 0 || off >= wl->wl_circ_off);
sys/kern/vfs_wapbl.c
1845
KASSERT(off == 0 || off < wl->wl_circ_off + wl->wl_circ_size);
sys/kern/vfs_wapbl.c
1846
error = wapbl_write_blocks(wl, &off);
sys/kern/vfs_wapbl.c
1849
error = wapbl_write_revocations(wl, &off);
sys/kern/vfs_wapbl.c
1852
error = wapbl_write_inodes(wl, &off);
sys/kern/vfs_wapbl.c
1857
if (wl->wl_inohashcnt)
sys/kern/vfs_wapbl.c
1858
reserved = wapbl_transaction_inodes_len(wl);
sys/kern/vfs_wapbl.c
1860
head = wl->wl_head;
sys/kern/vfs_wapbl.c
1861
tail = wl->wl_tail;
sys/kern/vfs_wapbl.c
1863
wapbl_advance_head(wl->wl_circ_size, wl->wl_circ_off, flushsize,
sys/kern/vfs_wapbl.c
1873
mutex_enter(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
1874
delta = wl->wl_reclaimable_bytes;
sys/kern/vfs_wapbl.c
1875
mutex_exit(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
1876
wapbl_advance_tail(wl->wl_circ_size, wl->wl_circ_off, delta,
sys/kern/vfs_wapbl.c
1879
error = wapbl_write_commit(wl, head, tail);
sys/kern/vfs_wapbl.c
1892
wapbl_space_used(wl->wl_circ_size, head, tail),
sys/kern/vfs_wapbl.c
1893
wl->wl_unsynced_bufbytes, wl->wl_bufcount,
sys/kern/vfs_wapbl.c
1894
wl->wl_bufbytes, wl->wl_bcount, wl->wl_dealloccnt,
sys/kern/vfs_wapbl.c
1895
wl->wl_inohashcnt));
sys/kern/vfs_wapbl.c
1902
wapbl_space_used(wl->wl_circ_size, head, tail),
sys/kern/vfs_wapbl.c
1903
wl->wl_bufcount, wl->wl_bufbytes, wl->wl_bcount,
sys/kern/vfs_wapbl.c
1904
wl->wl_dealloccnt, wl->wl_inohashcnt));
sys/kern/vfs_wapbl.c
1909
mutex_enter(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
1911
wl->wl_reserved_bytes = reserved;
sys/kern/vfs_wapbl.c
1912
wl->wl_head = head;
sys/kern/vfs_wapbl.c
1913
wl->wl_tail = tail;
sys/kern/vfs_wapbl.c
1914
KASSERT(wl->wl_reclaimable_bytes >= delta);
sys/kern/vfs_wapbl.c
1915
wl->wl_reclaimable_bytes -= delta;
sys/kern/vfs_wapbl.c
1916
KDASSERT(wl->wl_dealloccnt == 0);
sys/kern/vfs_wapbl.c
1918
wl->wl_unsynced_bufbytes += wl->wl_bufbytes;
sys/kern/vfs_wapbl.c
1921
we->we_wapbl = wl;
sys/kern/vfs_wapbl.c
1922
we->we_bufcount = wl->wl_bufcount;
sys/kern/vfs_wapbl.c
1924
we->we_unsynced_bufbytes = wl->wl_bufbytes;
sys/kern/vfs_wapbl.c
1928
SIMPLEQ_INSERT_TAIL(&wl->wl_entries, we, we_entries);
sys/kern/vfs_wapbl.c
1934
while ((bp = TAILQ_FIRST(&wl->wl_bufs)) != NULL) {
sys/kern/vfs_wapbl.c
1935
if (bbusy(bp, 0, 0, &wl->wl_mtx)) {
sys/kern/vfs_wapbl.c
1942
wapbl_remove_buf_locked(wl, bp);
sys/kern/vfs_wapbl.c
1943
mutex_exit(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
1947
mutex_enter(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
1949
mutex_exit(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
1965
error = wapbl_truncate(wl, wl->wl_circ_size -
sys/kern/vfs_wapbl.c
1966
wl->wl_reserved_bytes);
sys/kern/vfs_wapbl.c
1971
wl->wl_flush_abort(wl->wl_mount,
sys/kern/vfs_wapbl.c
1972
TAILQ_FIRST(&wl->wl_dealloclist));
sys/kern/vfs_wapbl.c
1983
mutex_enter(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
1992
pid, lid, error, wl->wl_bufcount,
sys/kern/vfs_wapbl.c
1993
wl->wl_bufbytes, wl->wl_bcount,
sys/kern/vfs_wapbl.c
1994
wl->wl_dealloccnt, wl->wl_inohashcnt,
sys/kern/vfs_wapbl.c
1995
wl->wl_error_count, wl->wl_reclaimable_bytes,
sys/kern/vfs_wapbl.c
1996
wl->wl_reserved_bytes, wl->wl_unsynced_bufbytes));
sys/kern/vfs_wapbl.c
1997
SIMPLEQ_FOREACH(we, &wl->wl_entries, we_entries) {
sys/kern/vfs_wapbl.c
2011
pid, lid, error, wl->wl_bufcount,
sys/kern/vfs_wapbl.c
2012
wl->wl_bufbytes, wl->wl_bcount,
sys/kern/vfs_wapbl.c
2013
wl->wl_dealloccnt, wl->wl_inohashcnt,
sys/kern/vfs_wapbl.c
2014
wl->wl_error_count, wl->wl_reclaimable_bytes,
sys/kern/vfs_wapbl.c
2015
wl->wl_reserved_bytes));
sys/kern/vfs_wapbl.c
2016
SIMPLEQ_FOREACH(we, &wl->wl_entries, we_entries) {
sys/kern/vfs_wapbl.c
2023
mutex_exit(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
2027
rw_exit(&wl->wl_rwlock);
sys/kern/vfs_wapbl.c
2034
wapbl_jlock_assert(struct wapbl *wl)
sys/kern/vfs_wapbl.c
2037
KASSERT(rw_lock_held(&wl->wl_rwlock));
sys/kern/vfs_wapbl.c
2041
wapbl_junlock_assert(struct wapbl *wl)
sys/kern/vfs_wapbl.c
2044
KASSERT(!rw_write_held(&wl->wl_rwlock));
sys/kern/vfs_wapbl.c
2051
wapbl_print(struct wapbl *wl, int full, void (*pr)(const char *, ...))
sys/kern/vfs_wapbl.c
2055
(*pr)("wapbl %p", wl);
sys/kern/vfs_wapbl.c
2057
wl->wl_logvp, wl->wl_devvp, wl->wl_logpbn);
sys/kern/vfs_wapbl.c
2060
wl->wl_circ_size, wl->wl_circ_off,
sys/kern/vfs_wapbl.c
2061
(intmax_t)wl->wl_head, (intmax_t)wl->wl_tail);
sys/kern/vfs_wapbl.c
2063
wl->wl_log_dev_bshift, wl->wl_fs_dev_bshift);
sys/kern/vfs_wapbl.c
2067
wl->wl_bufcount, wl->wl_bufbytes, wl->wl_bcount,
sys/kern/vfs_wapbl.c
2068
wl->wl_reclaimable_bytes, wl->wl_reserved_bytes,
sys/kern/vfs_wapbl.c
2069
wl->wl_error_count, wl->wl_unsynced_bufbytes);
sys/kern/vfs_wapbl.c
2072
"reserved = %zu errcnt = %d\n", wl->wl_bufcount, wl->wl_bufbytes,
sys/kern/vfs_wapbl.c
2073
wl->wl_bcount, wl->wl_reclaimable_bytes, wl->wl_reserved_bytes,
sys/kern/vfs_wapbl.c
2074
wl->wl_error_count);
sys/kern/vfs_wapbl.c
2077
wl->wl_dealloccnt, wl->wl_dealloclim);
sys/kern/vfs_wapbl.c
2079
wl->wl_inohashcnt, wl->wl_inohashmask);
sys/kern/vfs_wapbl.c
2081
SIMPLEQ_FOREACH(we, &wl->wl_entries, we_entries) {
sys/kern/vfs_wapbl.c
2095
TAILQ_FOREACH(bp, &wl->wl_bufs, b_wapbllist) {
sys/kern/vfs_wapbl.c
2110
TAILQ_FOREACH(wd, &wl->wl_dealloclist, wd_entries) {
sys/kern/vfs_wapbl.c
2125
for (i = 0; i <= wl->wl_inohashmask; i++) {
sys/kern/vfs_wapbl.c
2129
wih = &wl->wl_inohash[i];
sys/kern/vfs_wapbl.c
2144
TAILQ_FOREACH(bp, &wl->wl_iobufs, b_wapbllist) {
sys/kern/vfs_wapbl.c
2156
TAILQ_FOREACH(bp, &wl->wl_iobufs_busy, b_wapbllist) {
sys/kern/vfs_wapbl.c
2171
wapbl_dump(struct wapbl *wl)
sys/kern/vfs_wapbl.c
2174
if (!wl)
sys/kern/vfs_wapbl.c
2175
wl = wapbl_debug_wl;
sys/kern/vfs_wapbl.c
2177
if (!wl)
sys/kern/vfs_wapbl.c
2179
wapbl_print(wl, 1, printf);
sys/kern/vfs_wapbl.c
2186
wapbl_register_deallocation(struct wapbl *wl, daddr_t blk, int len, bool force,
sys/kern/vfs_wapbl.c
2192
wapbl_jlock_assert(wl);
sys/kern/vfs_wapbl.c
2194
mutex_enter(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
2196
if (__predict_false(wl->wl_dealloccnt >= wl->wl_dealloclim)) {
sys/kern/vfs_wapbl.c
2213
wl->wl_mount->mnt_stat.f_mntonname,
sys/kern/vfs_wapbl.c
2214
wl->wl_dealloccnt, wl->wl_dealloclim);
sys/kern/vfs_wapbl.c
2217
wl->wl_dealloccnt++;
sys/kern/vfs_wapbl.c
2218
mutex_exit(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
2224
mutex_enter(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
2225
TAILQ_INSERT_TAIL(&wl->wl_dealloclist, wd, wd_entries);
sys/kern/vfs_wapbl.c
2231
mutex_exit(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
2241
wapbl_deallocation_free(struct wapbl *wl, struct wapbl_dealloc *wd,
sys/kern/vfs_wapbl.c
2246
|| rw_lock_held(&wl->wl_rwlock) || mutex_owned(&wl->wl_mtx));
sys/kern/vfs_wapbl.c
2249
mutex_enter(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
2251
TAILQ_REMOVE(&wl->wl_dealloclist, wd, wd_entries);
sys/kern/vfs_wapbl.c
2252
wl->wl_dealloccnt--;
sys/kern/vfs_wapbl.c
2255
mutex_exit(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
2261
wapbl_unregister_deallocation(struct wapbl *wl, void *cookie)
sys/kern/vfs_wapbl.c
2265
wapbl_deallocation_free(wl, cookie, false);
sys/kern/vfs_wapbl.c
2271
wapbl_inodetrk_init(struct wapbl *wl, u_int size)
sys/kern/vfs_wapbl.c
2274
wl->wl_inohash = hashinit(size, HASH_LIST, true, &wl->wl_inohashmask);
sys/kern/vfs_wapbl.c
2282
wapbl_inodetrk_free(struct wapbl *wl)
sys/kern/vfs_wapbl.c
2286
KASSERT(wl->wl_inohashcnt == 0);
sys/kern/vfs_wapbl.c
2287
hashdone(wl->wl_inohash, HASH_LIST, wl->wl_inohashmask);
sys/kern/vfs_wapbl.c
2296
wapbl_inodetrk_get(struct wapbl *wl, ino_t ino)
sys/kern/vfs_wapbl.c
2301
KASSERT(mutex_owned(&wl->wl_mtx));
sys/kern/vfs_wapbl.c
2303
wih = &wl->wl_inohash[ino & wl->wl_inohashmask];
sys/kern/vfs_wapbl.c
2312
wapbl_register_inode(struct wapbl *wl, ino_t ino, mode_t mode)
sys/kern/vfs_wapbl.c
2319
mutex_enter(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
2320
if (wapbl_inodetrk_get(wl, ino) == NULL) {
sys/kern/vfs_wapbl.c
2323
wih = &wl->wl_inohash[ino & wl->wl_inohashmask];
sys/kern/vfs_wapbl.c
2325
wl->wl_inohashcnt++;
sys/kern/vfs_wapbl.c
2328
mutex_exit(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
2330
mutex_exit(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
2336
wapbl_unregister_inode(struct wapbl *wl, ino_t ino, mode_t mode)
sys/kern/vfs_wapbl.c
2340
mutex_enter(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
2341
wi = wapbl_inodetrk_get(wl, ino);
sys/kern/vfs_wapbl.c
2345
KASSERT(wl->wl_inohashcnt > 0);
sys/kern/vfs_wapbl.c
2346
wl->wl_inohashcnt--;
sys/kern/vfs_wapbl.c
2348
mutex_exit(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
2352
mutex_exit(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
2365
wapbl_transaction_inodes_len(struct wapbl *wl)
sys/kern/vfs_wapbl.c
2367
int blocklen = 1<<wl->wl_log_dev_bshift;
sys/kern/vfs_wapbl.c
2376
return MAX(1, howmany(wl->wl_inohashcnt, iph)) * blocklen;
sys/kern/vfs_wapbl.c
2386
wapbl_transaction_len(struct wapbl *wl)
sys/kern/vfs_wapbl.c
2388
int blocklen = 1<<wl->wl_log_dev_bshift;
sys/kern/vfs_wapbl.c
2392
len = wl->wl_bcount;
sys/kern/vfs_wapbl.c
2393
len += howmany(wl->wl_bufcount, wl->wl_brperjblock) * blocklen;
sys/kern/vfs_wapbl.c
2394
len += howmany(wl->wl_dealloccnt, wl->wl_brperjblock) * blocklen;
sys/kern/vfs_wapbl.c
2395
len += wapbl_transaction_inodes_len(wl);
sys/kern/vfs_wapbl.c
2409
wapbl_cache_sync(struct wapbl *wl, const char *msg)
sys/kern/vfs_wapbl.c
242
#define WAPBL_USE_FUA(wl) \
sys/kern/vfs_wapbl.c
2423
error = VOP_IOCTL(wl->wl_devvp, DIOCCACHESYNC, &force,
sys/kern/vfs_wapbl.c
2428
"returned %d\n", (uintmax_t)wl->wl_devvp->v_rdev,
sys/kern/vfs_wapbl.c
243
(wapbl_allow_dpofua && ISSET((wl)->wl_dkcache, DKCACHE_FUA))
sys/kern/vfs_wapbl.c
2439
msg, (uintmax_t)wl->wl_devvp->v_rdev,
sys/kern/vfs_wapbl.c
244
#define WAPBL_JFLAGS(wl) \
sys/kern/vfs_wapbl.c
2443
wl->wl_ev_cacheflush.ev_count++;
sys/kern/vfs_wapbl.c
245
(WAPBL_USE_FUA(wl) ? (wl)->wl_jwrite_flags : 0)
sys/kern/vfs_wapbl.c
246
#define WAPBL_JDATA_FLAGS(wl) \
sys/kern/vfs_wapbl.c
2466
wapbl_write_commit(struct wapbl *wl, off_t head, off_t tail)
sys/kern/vfs_wapbl.c
2468
struct wapbl_wc_header *wc = wl->wl_wc_header;
sys/kern/vfs_wapbl.c
247
(WAPBL_JFLAGS(wl) & B_MEDIA_DPO) /* only DPO */
sys/kern/vfs_wapbl.c
2473
error = wapbl_buffered_flush(wl, true);
sys/kern/vfs_wapbl.c
2484
wapbl_cache_sync(wl, "1");
sys/kern/vfs_wapbl.c
2505
pbn = wl->wl_logpbn + (wc->wc_generation % 2);
sys/kern/vfs_wapbl.c
2509
error = wapbl_buffered_write(wc, wc->wc_len, wl, pbn,
sys/kern/vfs_wapbl.c
2510
WAPBL_JFLAGS(wl));
sys/kern/vfs_wapbl.c
2513
error = wapbl_buffered_flush(wl, true);
sys/kern/vfs_wapbl.c
2522
if (!WAPBL_USE_FUA(wl))
sys/kern/vfs_wapbl.c
2523
wapbl_cache_sync(wl, "2");
sys/kern/vfs_wapbl.c
2530
error = wapbl_write_commit(wl, head, tail);
sys/kern/vfs_wapbl.c
2542
wl->wl_ev_commit.ev_count++;
sys/kern/vfs_wapbl.c
2556
wapbl_write_blocks(struct wapbl *wl, off_t *offp)
sys/kern/vfs_wapbl.c
2559
(struct wapbl_wc_blocklist *)wl->wl_wc_scratch;
sys/kern/vfs_wapbl.c
2560
int blocklen = 1<<wl->wl_log_dev_bshift;
sys/kern/vfs_wapbl.c
2566
KASSERT(rw_write_held(&wl->wl_rwlock));
sys/kern/vfs_wapbl.c
2568
bp = TAILQ_FIRST(&wl->wl_bufs);
sys/kern/vfs_wapbl.c
2580
while (bp && wc->wc_blkcount < wl->wl_brperjblock) {
sys/kern/vfs_wapbl.c
2615
error = wapbl_circ_write(wl, wc, blocklen, &off);
sys/kern/vfs_wapbl.c
2620
while (bp && cnt++ < wl->wl_brperjblock) {
sys/kern/vfs_wapbl.c
2621
error = wapbl_circ_write(wl, bp->b_data,
sys/kern/vfs_wapbl.c
2632
error = wapbl_circ_write(wl, zero, padding, &off);
sys/kern/vfs_wapbl.c
2651
wapbl_write_revocations(struct wapbl *wl, off_t *offp)
sys/kern/vfs_wapbl.c
2654
(struct wapbl_wc_blocklist *)wl->wl_wc_scratch;
sys/kern/vfs_wapbl.c
2656
int blocklen = 1<<wl->wl_log_dev_bshift;
sys/kern/vfs_wapbl.c
2660
KASSERT(rw_write_held(&wl->wl_rwlock));
sys/kern/vfs_wapbl.c
2662
if (wl->wl_dealloccnt == 0)
sys/kern/vfs_wapbl.c
2665
while ((wd = TAILQ_FIRST(&wl->wl_dealloclist)) != NULL) {
sys/kern/vfs_wapbl.c
2670
while (wd && wc->wc_blkcount < wl->wl_brperjblock) {
sys/kern/vfs_wapbl.c
2682
error = wapbl_circ_write(wl, wc, blocklen, &off);
sys/kern/vfs_wapbl.c
2688
while ((wd = TAILQ_FIRST(&wl->wl_dealloclist)) != NULL) {
sys/kern/vfs_wapbl.c
2691
wapbl_deallocation_free(wl, wd, true);
sys/kern/vfs_wapbl.c
2707
wapbl_write_inodes(struct wapbl *wl, off_t *offp)
sys/kern/vfs_wapbl.c
2710
(struct wapbl_wc_inodelist *)wl->wl_wc_scratch;
sys/kern/vfs_wapbl.c
2712
int blocklen = 1 << wl->wl_log_dev_bshift;
sys/kern/vfs_wapbl.c
2724
wih = &wl->wl_inohash[0];
sys/kern/vfs_wapbl.c
2731
while (i < wl->wl_inohashcnt && wc->wc_inocnt < iph) {
sys/kern/vfs_wapbl.c
2733
KASSERT((wih - &wl->wl_inohash[0])
sys/kern/vfs_wapbl.c
2734
<= wl->wl_inohashmask);
sys/kern/vfs_wapbl.c
2746
error = wapbl_circ_write(wl, wc, blocklen, &off);
sys/kern/vfs_wapbl.c
2749
} while (i < wl->wl_inohashcnt);
sys/kern/vfs_wapbl.c
286
static void wapbl_inodetrk_init(struct wapbl *wl, u_int size);
sys/kern/vfs_wapbl.c
287
static void wapbl_inodetrk_free(struct wapbl *wl);
sys/kern/vfs_wapbl.c
288
static struct wapbl_ino *wapbl_inodetrk_get(struct wapbl *wl, ino_t ino);
sys/kern/vfs_wapbl.c
290
static size_t wapbl_transaction_len(struct wapbl *wl);
sys/kern/vfs_wapbl.c
291
static inline size_t wapbl_transaction_inodes_len(struct wapbl *wl);
sys/kern/vfs_wapbl.c
400
wapbl_evcnt_init(struct wapbl *wl)
sys/kern/vfs_wapbl.c
403
snprintf(wl->wl_ev_group, sizeof(wl->wl_ev_group),
sys/kern/vfs_wapbl.c
405
wl->wl_mount->mnt_stat.f_fsidx.__fsid_val[0],
sys/kern/vfs_wapbl.c
406
wl->wl_mount->mnt_stat.f_fsidx.__fsid_val[1]);
sys/kern/vfs_wapbl.c
408
evcnt_attach_dynamic(&wl->wl_ev_commit, EVCNT_TYPE_MISC,
sys/kern/vfs_wapbl.c
409
NULL, wl->wl_ev_group, "commit");
sys/kern/vfs_wapbl.c
410
evcnt_attach_dynamic(&wl->wl_ev_journalwrite, EVCNT_TYPE_MISC,
sys/kern/vfs_wapbl.c
411
NULL, wl->wl_ev_group, "journal write total");
sys/kern/vfs_wapbl.c
412
evcnt_attach_dynamic(&wl->wl_ev_jbufs_bio_nowait, EVCNT_TYPE_MISC,
sys/kern/vfs_wapbl.c
413
NULL, wl->wl_ev_group, "journal write finished async");
sys/kern/vfs_wapbl.c
414
evcnt_attach_dynamic(&wl->wl_ev_metawrite, EVCNT_TYPE_MISC,
sys/kern/vfs_wapbl.c
415
NULL, wl->wl_ev_group, "metadata async write");
sys/kern/vfs_wapbl.c
416
evcnt_attach_dynamic(&wl->wl_ev_cacheflush, EVCNT_TYPE_MISC,
sys/kern/vfs_wapbl.c
417
NULL, wl->wl_ev_group, "cache flush");
sys/kern/vfs_wapbl.c
421
wapbl_evcnt_free(struct wapbl *wl)
sys/kern/vfs_wapbl.c
424
evcnt_detach(&wl->wl_ev_commit);
sys/kern/vfs_wapbl.c
425
evcnt_detach(&wl->wl_ev_journalwrite);
sys/kern/vfs_wapbl.c
426
evcnt_detach(&wl->wl_ev_jbufs_bio_nowait);
sys/kern/vfs_wapbl.c
427
evcnt_detach(&wl->wl_ev_metawrite);
sys/kern/vfs_wapbl.c
428
evcnt_detach(&wl->wl_ev_cacheflush);
sys/kern/vfs_wapbl.c
432
wapbl_dkcache_init(struct wapbl *wl)
sys/kern/vfs_wapbl.c
437
error = VOP_IOCTL(wl->wl_devvp, DIOCGCACHE, &wl->wl_dkcache,
sys/kern/vfs_wapbl.c
441
wl->wl_dkcache = DKCACHE_WRITE;
sys/kern/vfs_wapbl.c
445
if (ISSET(wl->wl_dkcache, DKCACHE_FUA))
sys/kern/vfs_wapbl.c
446
wl->wl_jwrite_flags |= B_MEDIA_FUA;
sys/kern/vfs_wapbl.c
449
if (ISSET(wl->wl_dkcache, DKCACHE_DPO))
sys/kern/vfs_wapbl.c
450
wl->wl_jwrite_flags |= B_MEDIA_DPO;
sys/kern/vfs_wapbl.c
454
wapbl_start_flush_inodes(struct wapbl *wl, struct wapbl_replay *wr)
sys/kern/vfs_wapbl.c
466
KASSERT(wl->wl_devvp->v_type == VBLK);
sys/kern/vfs_wapbl.c
468
KASSERT(wl->wl_devvp->v_rdev == wr->wr_devvp->v_rdev);
sys/kern/vfs_wapbl.c
469
KASSERT(wl->wl_logpbn == wr->wr_logpbn);
sys/kern/vfs_wapbl.c
470
KASSERT(wl->wl_circ_size == wr->wr_circ_size);
sys/kern/vfs_wapbl.c
471
KASSERT(wl->wl_circ_off == wr->wr_circ_off);
sys/kern/vfs_wapbl.c
472
KASSERT(wl->wl_log_dev_bshift == wr->wr_log_dev_bshift);
sys/kern/vfs_wapbl.c
473
KASSERT(wl->wl_fs_dev_bshift == wr->wr_fs_dev_bshift);
sys/kern/vfs_wapbl.c
475
wl->wl_wc_header->wc_generation = wr->wr_generation + 1;
sys/kern/vfs_wapbl.c
478
wapbl_register_inode(wl, wr->wr_inodes[i].wr_inumber,
sys/kern/vfs_wapbl.c
482
KDASSERT(wapbl_transaction_len(wl) <=
sys/kern/vfs_wapbl.c
483
wapbl_space_free(wl->wl_circ_size, wr->wr_inodeshead,
sys/kern/vfs_wapbl.c
486
wl->wl_head = wl->wl_tail = wr->wr_inodeshead;
sys/kern/vfs_wapbl.c
487
wl->wl_reclaimable_bytes = wl->wl_reserved_bytes =
sys/kern/vfs_wapbl.c
488
wapbl_transaction_len(wl);
sys/kern/vfs_wapbl.c
490
error = wapbl_write_inodes(wl, &wl->wl_head);
sys/kern/vfs_wapbl.c
494
KASSERT(wl->wl_head != wl->wl_tail);
sys/kern/vfs_wapbl.c
495
KASSERT(wl->wl_head != 0);
sys/kern/vfs_wapbl.c
505
struct wapbl *wl;
sys/kern/vfs_wapbl.c
552
wl = wapbl_calloc(1, sizeof(*wl));
sys/kern/vfs_wapbl.c
553
rw_init(&wl->wl_rwlock);
sys/kern/vfs_wapbl.c
554
mutex_init(&wl->wl_mtx, MUTEX_DEFAULT, IPL_NONE);
sys/kern/vfs_wapbl.c
555
cv_init(&wl->wl_reclaimable_cv, "wapblrec");
sys/kern/vfs_wapbl.c
556
TAILQ_INIT(&wl->wl_bufs);
sys/kern/vfs_wapbl.c
557
SIMPLEQ_INIT(&wl->wl_entries);
sys/kern/vfs_wapbl.c
559
wl->wl_logvp = vp;
sys/kern/vfs_wapbl.c
560
wl->wl_devvp = devvp;
sys/kern/vfs_wapbl.c
561
wl->wl_mount = mp;
sys/kern/vfs_wapbl.c
562
wl->wl_logpbn = logpbn;
sys/kern/vfs_wapbl.c
563
wl->wl_log_dev_bshift = log_dev_bshift;
sys/kern/vfs_wapbl.c
564
wl->wl_fs_dev_bshift = fs_dev_bshift;
sys/kern/vfs_wapbl.c
566
wl->wl_flush = flushfn;
sys/kern/vfs_wapbl.c
567
wl->wl_flush_abort = flushabortfn;
sys/kern/vfs_wapbl.c
570
wl->wl_circ_off = 2<<wl->wl_log_dev_bshift;
sys/kern/vfs_wapbl.c
571
wl->wl_circ_size = ((count * blksize) - wl->wl_circ_off);
sys/kern/vfs_wapbl.c
573
wl->wl_circ_size >>= wl->wl_log_dev_bshift;
sys/kern/vfs_wapbl.c
574
wl->wl_circ_size <<= wl->wl_log_dev_bshift;
sys/kern/vfs_wapbl.c
596
wl->wl_bufbytes_max = MIN(wl->wl_circ_size, buf_memcalc() / 2);
sys/kern/vfs_wapbl.c
599
wl->wl_bufbytes_max >>= PAGE_SHIFT;
sys/kern/vfs_wapbl.c
600
wl->wl_bufbytes_max <<= PAGE_SHIFT;
sys/kern/vfs_wapbl.c
601
wl->wl_bufbytes_max >>= wl->wl_log_dev_bshift;
sys/kern/vfs_wapbl.c
602
wl->wl_bufbytes_max <<= wl->wl_log_dev_bshift;
sys/kern/vfs_wapbl.c
603
wl->wl_bufbytes_max >>= wl->wl_fs_dev_bshift;
sys/kern/vfs_wapbl.c
604
wl->wl_bufbytes_max <<= wl->wl_fs_dev_bshift;
sys/kern/vfs_wapbl.c
608
wl->wl_bufcount_max = (buf_nbuf() / 2) * 1024;
sys/kern/vfs_wapbl.c
610
wl->wl_brperjblock = ((1<<wl->wl_log_dev_bshift)
sys/kern/vfs_wapbl.c
613
KASSERT(wl->wl_brperjblock > 0);
sys/kern/vfs_wapbl.c
616
wl->wl_dealloclim = wl->wl_bufbytes_max / mp->mnt_stat.f_bsize / 2;
sys/kern/vfs_wapbl.c
617
TAILQ_INIT(&wl->wl_dealloclist);
sys/kern/vfs_wapbl.c
619
wapbl_inodetrk_init(wl, WAPBL_INODETRK_SIZE);
sys/kern/vfs_wapbl.c
621
wapbl_evcnt_init(wl);
sys/kern/vfs_wapbl.c
623
wapbl_dkcache_init(wl);
sys/kern/vfs_wapbl.c
628
size_t len = 1 << wl->wl_log_dev_bshift;
sys/kern/vfs_wapbl.c
632
wc->wc_circ_off = wl->wl_circ_off;
sys/kern/vfs_wapbl.c
633
wc->wc_circ_size = wl->wl_circ_size;
sys/kern/vfs_wapbl.c
635
wc->wc_log_dev_bshift = wl->wl_log_dev_bshift;
sys/kern/vfs_wapbl.c
636
wc->wc_fs_dev_bshift = wl->wl_fs_dev_bshift;
sys/kern/vfs_wapbl.c
637
wl->wl_wc_header = wc;
sys/kern/vfs_wapbl.c
638
wl->wl_wc_scratch = wapbl_alloc(len);
sys/kern/vfs_wapbl.c
641
TAILQ_INIT(&wl->wl_iobufs);
sys/kern/vfs_wapbl.c
642
TAILQ_INIT(&wl->wl_iobufs_busy);
sys/kern/vfs_wapbl.c
657
TAILQ_INSERT_TAIL(&wl->wl_iobufs, bp, b_wapbllist);
sys/kern/vfs_wapbl.c
666
error = wapbl_start_flush_inodes(wl, wr);
sys/kern/vfs_wapbl.c
671
error = wapbl_write_commit(wl, wl->wl_head, wl->wl_tail);
sys/kern/vfs_wapbl.c
676
*wlp = wl;
sys/kern/vfs_wapbl.c
678
wapbl_debug_wl = wl;
sys/kern/vfs_wapbl.c
683
wapbl_discard(wl);
sys/kern/vfs_wapbl.c
684
wapbl_free(wl->wl_wc_scratch, wl->wl_wc_header->wc_len);
sys/kern/vfs_wapbl.c
685
wapbl_free(wl->wl_wc_header, wl->wl_wc_header->wc_len);
sys/kern/vfs_wapbl.c
686
while (!TAILQ_EMPTY(&wl->wl_iobufs)) {
sys/kern/vfs_wapbl.c
689
bp = TAILQ_FIRST(&wl->wl_iobufs);
sys/kern/vfs_wapbl.c
690
TAILQ_REMOVE(&wl->wl_iobufs, bp, b_wapbllist);
sys/kern/vfs_wapbl.c
693
wapbl_inodetrk_free(wl);
sys/kern/vfs_wapbl.c
694
wapbl_free(wl, sizeof(*wl));
sys/kern/vfs_wapbl.c
705
wapbl_discard(struct wapbl *wl)
sys/kern/vfs_wapbl.c
716
rw_enter(&wl->wl_rwlock, RW_WRITER);
sys/kern/vfs_wapbl.c
717
wl->wl_flush(wl->wl_mount, TAILQ_FIRST(&wl->wl_dealloclist));
sys/kern/vfs_wapbl.c
736
wl->wl_bufcount, wl->wl_bufbytes, wl->wl_bcount,
sys/kern/vfs_wapbl.c
737
wl->wl_dealloccnt, wl->wl_inohashcnt,
sys/kern/vfs_wapbl.c
738
wl->wl_error_count, wl->wl_reclaimable_bytes,
sys/kern/vfs_wapbl.c
739
wl->wl_reserved_bytes,
sys/kern/vfs_wapbl.c
740
wl->wl_unsynced_bufbytes));
sys/kern/vfs_wapbl.c
741
SIMPLEQ_FOREACH(we, &wl->wl_entries, we_entries) {
sys/kern/vfs_wapbl.c
755
wl->wl_bufcount, wl->wl_bufbytes, wl->wl_bcount,
sys/kern/vfs_wapbl.c
756
wl->wl_dealloccnt, wl->wl_inohashcnt,
sys/kern/vfs_wapbl.c
757
wl->wl_error_count, wl->wl_reclaimable_bytes,
sys/kern/vfs_wapbl.c
758
wl->wl_reserved_bytes));
sys/kern/vfs_wapbl.c
759
SIMPLEQ_FOREACH(we, &wl->wl_entries, we_entries) {
sys/kern/vfs_wapbl.c
770
for (i = 0; i <= wl->wl_inohashmask; i++) {
sys/kern/vfs_wapbl.c
774
wih = &wl->wl_inohash[i];
sys/kern/vfs_wapbl.c
778
KASSERT(wl->wl_inohashcnt > 0);
sys/kern/vfs_wapbl.c
779
wl->wl_inohashcnt--;
sys/kern/vfs_wapbl.c
787
mutex_enter(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
788
while ((bp = TAILQ_FIRST(&wl->wl_bufs)) != NULL) {
sys/kern/vfs_wapbl.c
789
if (bbusy(bp, 0, 0, &wl->wl_mtx) == 0) {
sys/kern/vfs_wapbl.c
797
mutex_exit(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
800
mutex_enter(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
809
while ((we = SIMPLEQ_FIRST(&wl->wl_entries)) != NULL) {
sys/kern/vfs_wapbl.c
810
SIMPLEQ_REMOVE_HEAD(&wl->wl_entries, we_entries);
sys/kern/vfs_wapbl.c
822
mutex_exit(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
826
while ((wd = TAILQ_FIRST(&wl->wl_dealloclist)) != NULL)
sys/kern/vfs_wapbl.c
827
wapbl_deallocation_free(wl, wd, true);
sys/kern/vfs_wapbl.c
831
KASSERT(wl->wl_bufbytes == 0);
sys/kern/vfs_wapbl.c
832
KASSERT(wl->wl_bcount == 0);
sys/kern/vfs_wapbl.c
833
KASSERT(wl->wl_bufcount == 0);
sys/kern/vfs_wapbl.c
834
KASSERT(TAILQ_EMPTY(&wl->wl_bufs));
sys/kern/vfs_wapbl.c
835
KASSERT(SIMPLEQ_EMPTY(&wl->wl_entries));
sys/kern/vfs_wapbl.c
836
KASSERT(wl->wl_inohashcnt == 0);
sys/kern/vfs_wapbl.c
837
KASSERT(TAILQ_EMPTY(&wl->wl_dealloclist));
sys/kern/vfs_wapbl.c
838
KASSERT(wl->wl_dealloccnt == 0);
sys/kern/vfs_wapbl.c
840
rw_exit(&wl->wl_rwlock);
sys/kern/vfs_wapbl.c
844
wapbl_stop(struct wapbl *wl, int force)
sys/kern/vfs_wapbl.c
849
error = wapbl_flush(wl, 1);
sys/kern/vfs_wapbl.c
852
wapbl_discard(wl);
sys/kern/vfs_wapbl.c
858
if (wl->wl_inohashcnt) {
sys/kern/vfs_wapbl.c
860
wapbl_discard(wl);
sys/kern/vfs_wapbl.c
866
KASSERT(wl->wl_bufbytes == 0);
sys/kern/vfs_wapbl.c
867
KASSERT(wl->wl_bcount == 0);
sys/kern/vfs_wapbl.c
868
KASSERT(wl->wl_bufcount == 0);
sys/kern/vfs_wapbl.c
869
KASSERT(TAILQ_EMPTY(&wl->wl_bufs));
sys/kern/vfs_wapbl.c
870
KASSERT(wl->wl_dealloccnt == 0);
sys/kern/vfs_wapbl.c
871
KASSERT(SIMPLEQ_EMPTY(&wl->wl_entries));
sys/kern/vfs_wapbl.c
872
KASSERT(wl->wl_inohashcnt == 0);
sys/kern/vfs_wapbl.c
873
KASSERT(TAILQ_EMPTY(&wl->wl_dealloclist));
sys/kern/vfs_wapbl.c
874
KASSERT(wl->wl_dealloccnt == 0);
sys/kern/vfs_wapbl.c
875
KASSERT(TAILQ_EMPTY(&wl->wl_iobufs_busy));
sys/kern/vfs_wapbl.c
877
wapbl_free(wl->wl_wc_scratch, wl->wl_wc_header->wc_len);
sys/kern/vfs_wapbl.c
878
wapbl_free(wl->wl_wc_header, wl->wl_wc_header->wc_len);
sys/kern/vfs_wapbl.c
879
while (!TAILQ_EMPTY(&wl->wl_iobufs)) {
sys/kern/vfs_wapbl.c
882
bp = TAILQ_FIRST(&wl->wl_iobufs);
sys/kern/vfs_wapbl.c
883
TAILQ_REMOVE(&wl->wl_iobufs, bp, b_wapbllist);
sys/kern/vfs_wapbl.c
886
wapbl_inodetrk_free(wl);
sys/kern/vfs_wapbl.c
888
wapbl_evcnt_free(wl);
sys/kern/vfs_wapbl.c
890
cv_destroy(&wl->wl_reclaimable_cv);
sys/kern/vfs_wapbl.c
891
mutex_destroy(&wl->wl_mtx);
sys/kern/vfs_wapbl.c
892
rw_destroy(&wl->wl_rwlock);
sys/kern/vfs_wapbl.c
893
wapbl_free(wl, sizeof(*wl));
sys/kern/vfs_wapbl.c
998
wapbl_buffered_write_async(struct wapbl *wl, struct buf *bp)
sys/sys/wapbl.h
180
void wapbl_jlock_assert(struct wapbl *wl);
sys/sys/wapbl.h
181
void wapbl_junlock_assert(struct wapbl *wl);
sys/sys/wapbl.h
183
void wapbl_print(struct wapbl *wl, int full, void (*pr)(const char *, ...)