Lines Matching defs:dumpcfg

397 typedef struct dumpcfg {
423 static dumpcfg_t dumpcfg; /* config vars */
446 * for at least one helper to register in dumpcfg.helpermap, before
562 dumpcfg_t *old = &dumpcfg;
808 ASSERT(rbitnum < dumpcfg.rbitmapsize);
810 BT_SET(dumpcfg.rbitmap, rbitnum);
822 ASSERT(rbitnum < dumpcfg.rbitmapsize);
824 return (BT_TEST(dumpcfg.rbitmap, rbitnum));
839 ret = dumpcfg.maxvm + *sz;
842 ASSERT(*sz <= dumpcfg.maxvmsize);
881 if (BT_TEST(dumpcfg.bitmap, start))
900 dumpcfg_t *cfg = &dumpcfg;
937 bzero(dumpcfg.rbitmap, BT_SIZEOFMAP(dumpcfg.rbitmapsize));
941 for (bitnum = 0; bitnum < dumpcfg.bitmapsize; bitnum = end) {
979 for (bitnum = 0; bitnum < dumpcfg.bitmapsize; bitnum = end) {
997 if (BT_TEST(dumpcfg.bitmap, bitnum))
1131 dumpcfg.pids = kmem_alloc(v.v_proc * sizeof (pid_t), KM_SLEEP);
1132 dumpcfg.helpermap = kmem_zalloc(BT_SIZEOFMAP(NCPU), KM_SLEEP);
1133 LOCK_INIT_HELD(&dumpcfg.helper_lock);
1141 if (dumpcfg.bitmapsize != npages) {
1146 if (dumpcfg.bitmap != NULL)
1147 kmem_free(dumpcfg.bitmap, BT_SIZEOFMAP(dumpcfg.
1149 if (dumpcfg.rbitmap != NULL)
1150 kmem_free(dumpcfg.rbitmap, BT_SIZEOFMAP(dumpcfg.
1152 dumpcfg.bitmap = map;
1153 dumpcfg.bitmapsize = npages;
1154 dumpcfg.rbitmap = rmap;
1155 dumpcfg.rbitmapsize = rlen;
1398 if (!BT_TEST(dumpcfg.bitmap, bitnum)) {
1400 BT_SET(dumpcfg.bitmap, bitnum);
1420 if (!BT_TEST(dumpcfg.bitmap, bitnum)) {
1422 BT_SET(dumpcfg.bitmap, bitnum);
1835 ASSERT(BT_TEST(dumpcfg.bitmap, cp->bitnum));
1854 if (BT_TEST(dumpcfg.bitmap, cp->bitnum))
2213 dumpsys_spinlock(&dumpcfg.helper_lock);
2214 if (dumpcfg.helpers_wanted) {
2215 helper_t *hp, *hpend = &dumpcfg.helper[dumpcfg.nhelper];
2217 for (hp = dumpcfg.helper; hp != hpend; hp++) {
2220 BT_SET(dumpcfg.helpermap, CPU->cpu_seqid);
2222 dumpsys_spinunlock(&dumpcfg.helper_lock);
2224 if (dumpcfg.clevel < DUMP_CLEVEL_BZIP2)
2235 dumpcfg.helpers_wanted = 0;
2238 dumpsys_spinunlock(&dumpcfg.helper_lock);
2251 if (dumpcfg.helpers_wanted)
2264 BT_ATOMIC_SET(dumpcfg.helpermap, CPU->cpu_seqid);
2265 if (dumpcfg.clevel < DUMP_CLEVEL_BZIP2)
2321 * dumpcfg.helpermap must contain at least one member.
2328 if (dump_plat_mincpu != 0 && dumpcfg.clevel != 0) {
2334 if (dumpcfg.helpermap[i] != 0) {
2349 dumpcfg.clevel = 0;
2350 if (dumpcfg.helper[0].lzbuf == NULL) {
2351 dumpcfg.helper[0].lzbuf =
2352 dumpcfg.helper[1].page;
2421 if (bitnum >= dumpcfg.bitmapsize)
2425 bitnum = dumpcfg.bitmapsize;
2431 for (; bitnum < dumpcfg.bitmapsize; bitnum++)
2432 if (BT_TEST(dumpcfg.bitmap, bitnum))
2437 if (bitnum >= dumpcfg.bitmapsize) {
2451 ASSERT(bitnum + mlw.mpleft <= dumpcfg.bitmapsize);
2477 if (BT_TEST(dumpcfg.bitmap, bitnum))
2498 dumpsys_lzjb_page(dumpcfg.helper, cp);
2505 if (bitnum >= dumpcfg.bitmapsize)
2518 if (bitnum < dumpcfg.bitmapsize)
2562 dumpcfg_t *cfg = &dumpcfg;
2672 helper_t *hp, *hpend = &dumpcfg.helper[dumpcfg.nhelper];
2686 dumpcfg.helpers_wanted = 0;
2687 dumpsys_spinunlock(&dumpcfg.helper_lock);
2694 ASSERT(dumpcfg.nhelper > 0);
2712 bzero(dumpcfg.bitmap, BT_SIZEOFMAP(dumpcfg.bitmapsize));
2797 dumpcfg.pids[npids++] = p->p_pid;
2802 (void) dump_process(dumpcfg.pids[pidx]);
2805 for (bitnum = 0; bitnum < dumpcfg.bitmapsize; bitnum++) {
2816 BT_SET(dumpcfg.bitmap, bitnum);
2818 dumphdr->dump_npages = dumpcfg.bitmapsize;
2833 dumpcfg.pids[npids++] =
2837 dumpcfg.pids[npids++] = curthread->t_procp->p_pid;
2840 if (npids && dump_process(dumpcfg.pids[0]) == 0)
2856 for (bitnum = 0; bitnum < dumpcfg.bitmapsize; bitnum++) {
2858 if (!BT_TEST(dumpcfg.bitmap, bitnum))
2873 bzero(dumpcfg.helpermap, BT_SIZEOFMAP(NCPU));
2874 ds->live = dumpcfg.clevel > 0 &&
2877 save_dump_clevel = dumpcfg.clevel;
2880 else if (dumpcfg.clevel >= DUMP_CLEVEL_BZIP2)
2881 dumpcfg.clevel = DUMP_CLEVEL_LZJB;
2883 dumpcfg.nhelper_used = 0;
2884 for (hp = dumpcfg.helper; hp != hpend; hp++) {
2889 ++dumpcfg.nhelper_used;
2894 if (dumpcfg.clevel >= DUMP_CLEVEL_BZIP2)
2901 dumpcfg.ncbuf_used = 0;
2902 for (cp = dumpcfg.cbuf; cp != &dumpcfg.cbuf[dumpcfg.ncbuf]; cp++) {
2905 ++dumpcfg.ncbuf_used;
2909 for (cp = dumpcfg.cmap; cp != &dumpcfg.cmap[dumpcfg.ncmap]; cp++)
2917 int n = dumpcfg.nhelper_used;
2922 for (hp = dumpcfg.helper; hp != hpend; hp++) {
2925 hp->helper = hp - dumpcfg.helper;
2933 dumpcfg.helpers_wanted = dumpcfg.clevel > 0;
2934 dumpsys_spinunlock(&dumpcfg.helper_lock);
2956 dumphdr->dump_npages += dump_plat_data(dumpcfg.cbuf[0].buf);
2969 buf = dumpcfg.cbuf[0].buf;
2970 size = MIN(dumpcfg.cbuf[0].size, DUMP_OFFSET - sizeof (dumphdr_t) -
2989 datahdr.dump_nstreams = dumpcfg.nhelper_used;
2990 datahdr.dump_clevel = dumpcfg.clevel;
3008 dumpvp_write(dumpcfg.cbuf[0].buf, datahdr.dump_metrics);
3041 dumpcfg.clevel = save_dump_clevel;