.TH "ptsematest" "8" "0.1" "" "" # SPDX-License-Identifier: GPL-2.0-or-later .SH "نام (NAME)" ptsematest \- راه‌اندازی دو ریسه و سنجش تأخیر ارتباط بین‌فرآیندی با POSIX mutex .SH "خلاصه دستور (SYNOPSIS)" .LP ptsematest [\-a|\-\-affinity [PROC]] [\-b|\-\-breaktrace USEC] [\-d|\-\-distance DIST] [\-D|\-\-duration TIME] [\-h|\-\-help] [\-i|\-\-interval INTV] [\-\-json FILENAME] [\-l|\-\-loops LOOPS] [\-p|\-\-prio PRIO] [\-q|\-\-quiet] [\-S|\-\-smp] [\-t|\-\-threads [NUM]] .br .SH "توضیحات (DESCRIPTION)" .LP برنامه .B ptsematest دو ریسه را آغاز می‌کند که از طریق .BR pthread_mutex_unlock () و .BR pthread_mutex_lock () با یکدیگر همگام‌سازی می‌شوند و تأخیر زمانی بین آزادسازی و دریافت قفل را اندازه می‌گیرد. .SH "گزینه‌ها (OPTIONS)" .TP .B \-a, \-\-affinity[=PROC] اجرا روی پردازنده شماره PROC. اگر PROC مشخص نشود، روی پردازنده فعلی اجرا می‌شود. .TP .B \-b, \-\-breaktrace=USEC ارسال دستور توقف ردیابی (break trace) هنگامی که تأخیر بیشتر از USEC باشد. این یک گزینه اشکال‌زدایی برای کنترل ردیاب تأخیر در وصله پیش‌دستی بلادرنگ (realtime preemption patch) است. برای ردیابی تأخیرهای غیرمنتظره و بزرگ سیستم مفید است. .TP .B \-d, \-\-distance=DIST تنظیم فاصله بین بازه‌های زمانی ریسه‌ها بر حسب میکروثانیه (پیش‌فرض ۵۰۰ میکروثانیه است). هنگامی که برنامه با گزینه .B \-t فراخوانی شود و بیش از یک ریسه ایجاد گردد، مقدار این فاصله به بازه زمانی ریسه‌ها افزوده می‌شود: Interval(thread N) = Interval(thread N-1) + DIST .TP .B \-D, \-\-duration=TIME تعیین مدت‌زمان اجرای آزمون. .br افزودن 'm'، 'h' یا 'd' برای مشخص کردن دقیقه، ساعت یا روز. .TP .B \-h, \-\-help چاپ پیام راهنما. .TP .B \-i, \-\-interval=INTV تنظیم بازه زمانی پایه ریسه(ها) بر حسب میکروثانیه (پیش‌فرض ۱۰۰۰ میکروثانیه است). این مقدار بازه زمانی اولین ریسه را تعیین می‌کند. همچنین گزینه .B \-d را ببینید. .TP .B \-\-json=FILENAME نوشتن نتایج نهایی در FILENAME با فرمت JSON. .TP .B \-l, \-\-loops=LOOPS تنظیم تعداد دورها (حلقه‌ها). مقدار پیش‌فرض 0 (بی‌پایان) است. این گزینه برای آزمون‌های خودکار با تعداد مشخصی از چرخه‌های آزمون مفید است. پس از رسیدن به تعداد بازه‌های زمانی تایمر، .B ptsematest متوقف می‌شود. .TP .B \-p, \-\-prio=PRIO تنظیم اولویت فرآیند. .TP .B \-q, \-\-quiet تنها چاپ خلاصه نتایج هنگام خروج. برای آزمون‌های خودکار مفید است که فقط نیاز به ثبت خروجی خلاصه دارند. .TP .B \-S, \-\-smp آزمون SMP: اعمال گزینه‌های .B \-a و .B \-t و اولویت یکسان. .TP .B \-t, \-\-threads[=NUM] تنظیم تعداد ریسه‌های آزمون (اگر این گزینه داده نشود، پیش‌فرض ۱ است). اگر NUM مشخص شود، به تعداد NUM ریسه آزمون ایجاد می‌شود. اگر NUM مشخص نشود، NUM برابر با تعداد پردازنده‌های در دسترس در نظر گرفته می‌شود. .SH "مثال‌ها (EXAMPLES)" مثال زیر روی یک پردازنده ۴ هسته‌ای (4-way processor) اجرا شده است: .LP .nf # ptsematest -a -t -p99 -i100 -d25 -l1000000 #0: ID8672, P99, CPU0, I100; #1: ID8673, P99, CPU0, Cycles 1000000 #2: ID8674, P98, CPU1, I125; #3: ID8675, P98, CPU1, Cycles 811035 #4: ID8676, P97, CPU2, I150; #5: ID8677, P97, CPU2, Cycles 668130 #6: ID8678, P96, CPU3, I175; #7: ID8679, P96, CPU3, Cycles 589423 #1 -> #0, Min 1, Cur 1, Avg 2, Max 11 #3 -> #2, Min 1, Cur 2, Avg 2, Max 13 #5 -> #4, Min 1, Cur 4, Avg 3, Max 12 #7 -> #6, Min 1, Cur 4, Avg 2, Max 12 .fi .SH "نویسندگان (AUTHORS)" .LP Carsten Emde .SH "همچنین ببینید (SEE ALSO)" .LP .BR pthread_mutex_lock (3p), .BR pthread_mutex_unlock (3p)