Lines Matching defs:dumpcfg
393 typedef struct dumpcfg {
419 static dumpcfg_t dumpcfg; /* config vars */
549 dumpcfg_t *old = &dumpcfg;
783 ASSERT(rbitnum < dumpcfg.rbitmapsize);
785 BT_SET(dumpcfg.rbitmap, rbitnum);
797 ASSERT(rbitnum < dumpcfg.rbitmapsize);
799 return (BT_TEST(dumpcfg.rbitmap, rbitnum));
814 ret = dumpcfg.maxvm + *sz;
817 ASSERT(*sz <= dumpcfg.maxvmsize);
856 if (BT_TEST(dumpcfg.bitmap, start))
875 dumpcfg_t *cfg = &dumpcfg;
912 bzero(dumpcfg.rbitmap, BT_SIZEOFMAP(dumpcfg.rbitmapsize));
916 for (bitnum = 0; bitnum < dumpcfg.bitmapsize; bitnum = end) {
954 for (bitnum = 0; bitnum < dumpcfg.bitmapsize; bitnum = end) {
972 if (BT_TEST(dumpcfg.bitmap, bitnum))
1106 dumpcfg.pids = kmem_alloc(v.v_proc * sizeof (pid_t), KM_SLEEP);
1107 dumpcfg.helpermap = kmem_zalloc(BT_SIZEOFMAP(NCPU), KM_SLEEP);
1108 LOCK_INIT_HELD(&dumpcfg.helper_lock);
1116 if (dumpcfg.bitmapsize != npages) {
1121 if (dumpcfg.bitmap != NULL)
1122 kmem_free(dumpcfg.bitmap, BT_SIZEOFMAP(dumpcfg.
1124 if (dumpcfg.rbitmap != NULL)
1125 kmem_free(dumpcfg.rbitmap, BT_SIZEOFMAP(dumpcfg.
1127 dumpcfg.bitmap = map;
1128 dumpcfg.bitmapsize = npages;
1129 dumpcfg.rbitmap = rmap;
1130 dumpcfg.rbitmapsize = rlen;
1373 if (!BT_TEST(dumpcfg.bitmap, bitnum)) {
1375 BT_SET(dumpcfg.bitmap, bitnum);
1395 if (!BT_TEST(dumpcfg.bitmap, bitnum)) {
1397 BT_SET(dumpcfg.bitmap, bitnum);
1810 ASSERT(BT_TEST(dumpcfg.bitmap, cp->bitnum));
1829 if (BT_TEST(dumpcfg.bitmap, cp->bitnum))
2188 dumpsys_spinlock(&dumpcfg.helper_lock);
2189 if (dumpcfg.helpers_wanted) {
2190 helper_t *hp, *hpend = &dumpcfg.helper[dumpcfg.nhelper];
2192 for (hp = dumpcfg.helper; hp != hpend; hp++) {
2195 BT_SET(dumpcfg.helpermap, CPU->cpu_seqid);
2197 dumpsys_spinunlock(&dumpcfg.helper_lock);
2199 if (dumpcfg.clevel < DUMP_CLEVEL_BZIP2)
2210 dumpcfg.helpers_wanted = 0;
2213 dumpsys_spinunlock(&dumpcfg.helper_lock);
2226 if (dumpcfg.helpers_wanted)
2239 BT_ATOMIC_SET(dumpcfg.helpermap, CPU->cpu_seqid);
2240 if (dumpcfg.clevel < DUMP_CLEVEL_BZIP2)
2295 * dumpcfg.helpermap must contain at least one member.
2299 if (dump_plat_mincpu != 0 && dumpcfg.clevel != 0) {
2301 if (dumpcfg.helpermap[i] != 0) {
2309 dumpcfg.clevel = 0;
2310 if (dumpcfg.helper[0].lzbuf == NULL)
2311 dumpcfg.helper[0].lzbuf = dumpcfg.helper[1].page;
2378 if (bitnum >= dumpcfg.bitmapsize)
2382 bitnum = dumpcfg.bitmapsize;
2388 for (; bitnum < dumpcfg.bitmapsize; bitnum++)
2389 if (BT_TEST(dumpcfg.bitmap, bitnum))
2394 if (bitnum >= dumpcfg.bitmapsize) {
2408 ASSERT(bitnum + mlw.mpleft <= dumpcfg.bitmapsize);
2434 if (BT_TEST(dumpcfg.bitmap, bitnum))
2455 dumpsys_lzjb_page(dumpcfg.helper, cp);
2463 if (bitnum >= dumpcfg.bitmapsize)
2476 if (bitnum < dumpcfg.bitmapsize)
2520 dumpcfg_t *cfg = &dumpcfg;
2626 helper_t *hp, *hpend = &dumpcfg.helper[dumpcfg.nhelper];
2640 dumpcfg.helpers_wanted = 0;
2641 dumpsys_spinunlock(&dumpcfg.helper_lock);
2648 ASSERT(dumpcfg.nhelper > 0);
2666 bzero(dumpcfg.bitmap, BT_SIZEOFMAP(dumpcfg.bitmapsize));
2751 dumpcfg.pids[npids++] = p->p_pid;
2756 (void) dump_process(dumpcfg.pids[pidx]);
2759 for (bitnum = 0; bitnum < dumpcfg.bitmapsize; bitnum++) {
2770 BT_SET(dumpcfg.bitmap, bitnum);
2772 dumphdr->dump_npages = dumpcfg.bitmapsize;
2787 dumpcfg.pids[npids++] =
2791 dumpcfg.pids[npids++] = curthread->t_procp->p_pid;
2794 if (npids && dump_process(dumpcfg.pids[0]) == 0)
2810 for (bitnum = 0; bitnum < dumpcfg.bitmapsize; bitnum++) {
2812 if (!BT_TEST(dumpcfg.bitmap, bitnum))
2827 bzero(dumpcfg.helpermap, BT_SIZEOFMAP(NCPU));
2828 ds->live = dumpcfg.clevel > 0 &&
2831 save_dump_clevel = dumpcfg.clevel;
2834 else if (dumpcfg.clevel >= DUMP_CLEVEL_BZIP2)
2835 dumpcfg.clevel = DUMP_CLEVEL_LZJB;
2837 dumpcfg.nhelper_used = 0;
2838 for (hp = dumpcfg.helper; hp != hpend; hp++) {
2843 ++dumpcfg.nhelper_used;
2848 if (dumpcfg.clevel >= DUMP_CLEVEL_BZIP2)
2855 dumpcfg.ncbuf_used = 0;
2856 for (cp = dumpcfg.cbuf; cp != &dumpcfg.cbuf[dumpcfg.ncbuf]; cp++) {
2859 ++dumpcfg.ncbuf_used;
2863 for (cp = dumpcfg.cmap; cp != &dumpcfg.cmap[dumpcfg.ncmap]; cp++)
2871 int n = dumpcfg.nhelper_used;
2876 for (hp = dumpcfg.helper; hp != hpend; hp++) {
2879 hp->helper = hp - dumpcfg.helper;
2887 dumpcfg.helpers_wanted = dumpcfg.clevel > 0;
2888 dumpsys_spinunlock(&dumpcfg.helper_lock);
2910 dumphdr->dump_npages += dump_plat_data(dumpcfg.cbuf[0].buf);
2923 buf = dumpcfg.cbuf[0].buf;
2924 size = MIN(dumpcfg.cbuf[0].size, DUMP_OFFSET - sizeof (dumphdr_t) -
2943 datahdr.dump_nstreams = dumpcfg.nhelper_used;
2944 datahdr.dump_clevel = dumpcfg.clevel;
2962 dumpvp_write(dumpcfg.cbuf[0].buf, datahdr.dump_metrics);
2995 dumpcfg.clevel = save_dump_clevel;