Lines Matching defs:lwp

356 	lwp_info_t *lwp;
501 lwp = list->l_ptrs[i];
503 lwpid = lwp->li_info.pr_lwp.pr_lwpid;
505 lwpid = lwp->li_info.pr_nlwp +
506 lwp->li_info.pr_nzomb;
507 pwd_getname(lwp->li_info.pr_uid, pname, sizeof (pname),
512 Format_size(psize, lwp->li_info.pr_size, 6);
513 Format_size(prssize, lwp->li_info.pr_rssize, 6);
515 lwp->li_info.pr_lwp.pr_sname,
516 lwp->li_info.pr_lwp.pr_onpro, 7);
517 if (strcmp(lwp->li_info.pr_lwp.pr_clname,
519 strcmp(lwp->li_info.pr_lwp.pr_clname,
521 lwp->li_info.pr_lwp.pr_sname == 'Z')
525 lwp->li_info.pr_lwp.pr_nice - NZERO,
527 Format_num(ppri, lwp->li_info.pr_lwp.pr_pri, 4);
529 FRC2PCT(lwp->li_info.pr_lwp.pr_pctcpu), 4);
532 lwp->li_info.pr_lwp.pr_time.tv_sec,
536 lwp->li_info.pr_time.tv_sec, 10);
539 stripfname(lwp->li_info.pr_fname);
542 (int)lwp->li_info.pr_pid, pname,
545 (int)lwp->li_info.pr_lwp.pr_lgrp,
546 lwp->li_info.pr_fname, lwpid);
549 (int)lwp->li_info.pr_pid, pname,
553 lwp->li_info.pr_fname, lwpid);
559 Format_pct(usr, lwp->li_usr, 4);
560 Format_pct(sys, lwp->li_sys, 4);
561 Format_pct(slp, lwp->li_slp, 4);
562 Format_num(vcx, lwp->li_vcx, 4);
563 Format_num(icx, lwp->li_icx, 4);
564 Format_num(scl, lwp->li_scl, 4);
565 Format_num(sig, lwp->li_sig, 4);
566 Format_pct(trp, lwp->li_trp, 4);
567 Format_pct(tfl, lwp->li_tfl, 4);
568 Format_pct(dfl, lwp->li_dfl, 4);
569 Format_pct(lck, lwp->li_lck, 4);
570 Format_pct(lat, lwp->li_lat, 4);
573 stripfname(lwp->li_info.pr_fname);
575 (int)lwp->li_info.pr_pid, pname,
578 lwp->li_info.pr_fname, lwpid);
627 lwp_info_t *lwp;
630 list->l_head = list->l_tail = lwp = Zalloc(sizeof (lwp_info_t));
632 lwp = Zalloc(sizeof (lwp_info_t));
633 lwp->li_prev = list->l_tail;
634 ((lwp_info_t *)list->l_tail)->li_next = lwp;
635 list->l_tail = lwp;
637 lwp->li_info.pr_pid = pid;
638 lwp->li_info.pr_lwp.pr_lwpid = lwpid;
639 lwpid_add(lwp, pid, lwpid);
641 return (lwp);
645 list_remove_lwp(list_t *list, lwp_info_t *lwp)
647 if (lwp->li_prev)
648 lwp->li_prev->li_next = lwp->li_next;
650 list->l_head = lwp->li_next; /* removing the head */
651 if (lwp->li_next)
652 lwp->li_next->li_prev = lwp->li_prev;
654 list->l_tail = lwp->li_prev; /* removing the tail */
655 lwpid_del(lwp->li_info.pr_pid, lwp->li_info.pr_lwp.pr_lwpid);
656 if (lwpid_pidcheck(lwp->li_info.pr_pid) == 0)
657 fds_rm(lwp->li_info.pr_pid);
659 free(lwp);
666 lwp_info_t *lwp = list->l_tail;
670 while (lwp) {
671 lwp_tmp = lwp;
672 lwp = lwp->li_prev;
690 list_update(list_t *list, lwp_info_t *lwp)
701 (id->id_uid != lwp->li_info.pr_uid))
704 (id->id_taskid != lwp->li_info.pr_taskid))
707 (id->id_projid != lwp->li_info.pr_projid))
710 (id->id_zoneid != lwp->li_info.pr_zoneid))
713 (id->id_lgroup != lwp->li_info.pr_lwp.pr_lgrp))
716 id->id_taskid = lwp->li_info.pr_taskid;
717 id->id_projid = lwp->li_info.pr_projid;
718 id->id_zoneid = lwp->li_info.pr_zoneid;
719 id->id_lgroup = lwp->li_info.pr_lwp.pr_lgrp;
721 if (lwp->li_flags & LWP_REPRESENT) {
722 id->id_size += lwp->li_info.pr_size;
723 id->id_rssize += lwp->li_info.pr_rssize;
725 id->id_pctcpu += FRC2PCT(lwp->li_info.pr_lwp.pr_pctcpu);
727 id->id_time += TIME2SEC(lwp->li_info.pr_lwp.pr_time);
729 id->id_time += TIME2SEC(lwp->li_info.pr_time);
730 id->id_pctmem += FRC2PCT(lwp->li_info.pr_pctmem);
731 id->id_key += lwp->li_key;
732 total_cpu += FRC2PCT(lwp->li_info.pr_lwp.pr_pctcpu);
733 total_mem += FRC2PCT(lwp->li_info.pr_pctmem);
744 id->id_uid = lwp->li_info.pr_uid;
745 id->id_projid = lwp->li_info.pr_projid;
746 id->id_taskid = lwp->li_info.pr_taskid;
747 id->id_zoneid = lwp->li_info.pr_zoneid;
748 id->id_lgroup = lwp->li_info.pr_lwp.pr_lgrp;
751 if (lwp->li_flags & LWP_REPRESENT) {
752 id->id_size = lwp->li_info.pr_size;
753 id->id_rssize = lwp->li_info.pr_rssize;
755 id->id_pctcpu = FRC2PCT(lwp->li_info.pr_lwp.pr_pctcpu);
757 id->id_time = TIME2SEC(lwp->li_info.pr_lwp.pr_time);
759 id->id_time = TIME2SEC(lwp->li_info.pr_time);
760 id->id_pctmem = FRC2PCT(lwp->li_info.pr_pctmem);
761 id->id_key = lwp->li_key;
768 lwp_update(lwp_info_t *lwp, pid_t pid, id_t lwpid, struct prusage *usage)
778 (void) memcpy(&lwp->li_usage, usage, sizeof (prusage_t));
784 lwp->li_usr = 0;
785 lwp->li_sys = 0;
786 lwp->li_slp = 0;
788 lwp->li_usr = TIME2NSEC(usage->pr_utime)/period;
789 lwp->li_sys = TIME2NSEC(usage->pr_stime)/period;
790 lwp->li_slp = TIME2NSEC(usage->pr_slptime)/period;
792 lwp->li_trp = TIME2NSEC(usage->pr_ttime)/period;
793 lwp->li_tfl = TIME2NSEC(usage->pr_tftime)/period;
794 lwp->li_dfl = TIME2NSEC(usage->pr_dftime)/period;
795 lwp->li_lck = TIME2NSEC(usage->pr_ltime)/period;
796 lwp->li_lat = TIME2NSEC(usage->pr_wtime)/period;
798 lwp->li_vcx = (ulong_t)
800 lwp->li_icx = (ulong_t)
802 lwp->li_scl = (ulong_t)
804 lwp->li_sig = (ulong_t)
814 TIME2NSEC(lwp->li_usage.pr_rtime);
819 lwp->li_usr = 0;
820 lwp->li_sys = 0;
821 lwp->li_slp = 0;
823 lwp->li_usr = (TIME2NSEC(usage->pr_utime)-
824 TIME2NSEC(lwp->li_usage.pr_utime))/period;
825 lwp->li_sys = (TIME2NSEC(usage->pr_stime) -
826 TIME2NSEC(lwp->li_usage.pr_stime))/period;
827 lwp->li_slp = (TIME2NSEC(usage->pr_slptime) -
828 TIME2NSEC(lwp->li_usage.pr_slptime))/period;
830 lwp->li_trp = (TIME2NSEC(usage->pr_ttime) -
831 TIME2NSEC(lwp->li_usage.pr_ttime))/period;
832 lwp->li_tfl = (TIME2NSEC(usage->pr_tftime) -
833 TIME2NSEC(lwp->li_usage.pr_tftime))/period;
834 lwp->li_dfl = (TIME2NSEC(usage->pr_dftime) -
835 TIME2NSEC(lwp->li_usage.pr_dftime))/period;
836 lwp->li_lck = (TIME2NSEC(usage->pr_ltime) -
837 TIME2NSEC(lwp->li_usage.pr_ltime))/period;
838 lwp->li_lat = (TIME2NSEC(usage->pr_wtime) -
839 TIME2NSEC(lwp->li_usage.pr_wtime))/period;
840 lwp->li_vcx = usage->pr_vctx - lwp->li_usage.pr_vctx;
841 lwp->li_icx = usage->pr_ictx - lwp->li_usage.pr_ictx;
842 lwp->li_scl = usage->pr_sysc - lwp->li_usage.pr_sysc;
843 lwp->li_sig = usage->pr_sigs - lwp->li_usage.pr_sigs;
844 (void) memcpy(&lwp->li_usage, usage, sizeof (prusage_t));
867 lwp_info_t *lwp;
872 if ((lwp = lwpid_get(pid, lwpid)) == NULL)
873 lwp = list_add_lwp(&lwps, pid, lwpid);
874 lwp->li_flags |= LWP_ALIVE | LWP_REPRESENT;
875 (void) memcpy(&lwp->li_info, psinfo, sizeof (psinfo_t));
876 lwp->li_info.pr_lwp.pr_pctcpu = lwp->li_info.pr_pctcpu;
882 lwp_info_t *lwp;
886 if ((lwp = lwpid_get(pid, lwpid)) == NULL)
887 lwp = list_add_lwp(&lwps, pid, lwpid);
888 lwp->li_flags &= ~LWP_REPRESENT;
889 lwp->li_flags |= LWP_ALIVE;
890 lwp->li_flags |= flags;
891 (void) memcpy(&lwp->li_info, psinfo,
893 (void) memcpy(&lwp->li_info.pr_lwp, lwpsinfo, sizeof (lwpsinfo_t));
907 lwp_info_t *lwp;
984 * lwp count in return.
1019 * If process has more than one lwp, then we may have to
1050 if ((lwp = lwpid_get(pid, lwpid)) == NULL)
1052 lwp_update(lwp, pid, lwpid, lwpusage);
1063 if ((lwp = lwpid_get(pid, lwpid)) == NULL)
1065 lwp_update(lwp, pid, lwpid, &usage);
1080 lwp_info_t *lwp, *lwp_next;
1085 for (lwp = list->l_head; lwp != NULL; ) {
1086 if (lwp->li_flags & LWP_ALIVE) {
1093 lwp->li_key = list_getkeyval(list, lwp);
1095 list_update(&users, lwp);
1097 list_update(&tasks, lwp);
1099 list_update(&projects, lwp);
1101 list_update(&zones, lwp);
1103 list_update(&lgroups, lwp);
1104 lwp->li_flags &= ~LWP_ALIVE;
1105 lwp = lwp->li_next;
1108 lwp_next = lwp->li_next;
1109 list_remove_lwp(&lwps, lwp);
1110 lwp = lwp_next;