.\" -*- coding: UTF-8 -*- .\" Copyright 2003-2004, Andi Kleen .\" Copyright 2003-2004, SuSE Labs .\" Copyright 2007, Lee Schermerhorn .\" Copyright 2007, Hewlett Packard .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft-var .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH get_mempolicy 2 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم get_mempolicy \- استرداد سياسة ذاكرة NUMA لخيط .SH المكتبة مكتبة سياسات NUMA (الوصول غير الموحد للذاكرة) (\fIlibnuma\fP،\ \fI\-lnuma\fP) .SH موجز \fB#include \fP .nf .P \fBlong get_mempolicy(\fPunsigned long maxnode; \fB int *\fP\fImode\fP\fB,\fP \fB unsigned long \fP\fInodemask\fP\fB[(\fP\fImaxnode\fP\fB + ULONG_WIDTH \- 1)\fP \fB/ ULONG_WIDTH],\fP \fB unsigned long \fP\fImaxnode\fP\fB, void *\fP\fIaddr\fP\fB,\fP \fB unsigned long \fP\fIflags\fP\fB);\fP .fi .SH الوصف يسترد \fBget_mempolicy\fP() سياسة NUMA للخيط المستدعي أو لعنوان ذاكرة، اعتمادًا على إعداد \fIflags\fP. .P تمتلك آلة NUMA متحكمات ذاكرة مختلفة بمسافات متفاوتة عن وحدات معالجة مركزية (CPUs) محددة. تحدد سياسة الذاكرة من أي عقدة تُخَصَّص الذاكرة للخيط. .P إذا تم تحديد \fIflags\fP كـ 0، فسيتم إرجاع معلومات حول السياسة المبدئية للخيط المستدعي (كما هو محدد بواسطة \fBset_mempolicy\fP(2))، في المخازن المؤقتة المشار إليها بواسطة \fImode\fP و \fInodemask\fP. يمكن استخدام القيمة المرجعة في هذه الوسائط لاستعادة سياسة الخيط إلى حالتها وقت استدعاء \fBget_mempolicy\fP() باستخدام \fBset_mempolicy\fP(2). عندما يكون \fIflags\fP هو 0، يجب تحديد \fIaddr\fP كـ NULL. .P إذا حدد \fIflags\fP \fBMPOL_F_MEMS_ALLOWED\fP (متاح منذ Linux 2.6.24)، يتم تجاهل وسيطة \fImode\fP ويتم إرجاع مجموعة العقد (الذاكرات) التي يُسمح للخيط بتحديدها في الاستدعاءات اللاحقة لـ \fBmbind\fP(2) أو \fBset_mempolicy\fP(2) (في غياب أي \fImode flags\fP) في \fInodemask\fP. لا يُسمح بدمج \fBMPOL_F_MEMS_ALLOWED\fP مع أي من \fBMPOL_F_ADDR\fP أو \fBMPOL_F_NODE\fP. .P إذا حدد \fIflags\fP \fBMPOL_F_ADDR\fP، فسيتم إرجاع معلومات حول السياسة التي تحكم عنوان الذاكرة المعطى في \fIaddr\fP. قد تختلف هذه السياسة عن السياسة المبدئية للخيط إذا تم استخدام \fBmbind\fP(2) أو إحدى الدوال المساعدة الموصوفة في \fBnuma\fP(3) لإنشاء سياسة لنطاق الذاكرة الذي يحتوي على \fIaddr\fP. .P إذا لم تكن وسيطة \fImode\fP NULL، فسيخزن \fBget_mempolicy\fP() وضع السياسة وأي \fImode flags\fP اختيارية لسياسة NUMA المطلوبة في الموقع المشار إليه بهذه الوسيطة. إذا لم يكن \fInodemask\fP NULL، فسيتم تخزين قناع العقدة المرتبط بالسياسة في الموقع المشار إليه بهذه الوسيطة. يحدد \fImaxnode\fP عدد معرفات العقد التي يمكن تخزينها في \fInodemask\fP\[em]أي، أقصى معرف عقدة زائد واحد. يتم دائمًا تقريب القيمة المحددة بواسطة \fImaxnode\fP إلى مضاعف \fIsizeof(unsigned\ long)*8\fP. .P إذا حدد \fIflags\fP كلاً من \fBMPOL_F_NODE\fP و \fBMPOL_F_ADDR\fP، فسيعيد \fBget_mempolicy\fP() معرف العقدة التي تم تخصيص العنوان \fIaddr\fP عليها إلى الموقع المشار إليه بواسطة \fImode\fP. إذا لم يتم تخصيص صفحة بعد للعنوان المحدد، فسيخصص \fBget_mempolicy\fP() صفحة كما لو أن الخيط أجرى وصول قراءة (تحميل) إلى ذلك العنوان، ويعيد معرف العقدة حيث تم تخصيص تلك الصفحة. .P .\" Note: code returns next interleave node via 'mode' argument -Lee Schermerhorn إذا حدد \fIflags\fP \fBMPOL_F_NODE\fP، ولكن ليس \fBMPOL_F_ADDR\fP، وكانت السياسة الحالية للخيط هي \fBMPOL_INTERLEAVE\fP أو \fBMPOL_WEIGHTED_INTERLEAVE\fP، فسيعيد \fBget_mempolicy\fP() في الموقع المشار إليه بواسطة وسيطة \fImode\fP غير NULL، معرف العقدة التالية التي سيتم استخدامها للتداخل لصفحات kernel الداخلية المخصصة نيابة عن الخيط. تتضمن هذه التخصيصات صفحات للملفات المعينة في الذاكرة في نطاقات ذاكرة العملية المعينة باستخدام استدعاء \fBmmap\fP(2) مع علامة \fBMAP_PRIVATE\fP لوصول القراءة، وفي نطاقات الذاكرة المعينة بعلامة \fBMAP_SHARED\fP لجميع أنواع الوصول. .P قيم العلامات الأخرى محجوزة. .P للحصول على نظرة عامة على السياسات الممكنة، انظر \fBset_mempolicy\fP(2). .SH "قيمة الإرجاع" عند النجاح، يعيد \fBget_mempolicy\fP() 0؛ عند الخطأ، يتم إرجاع \-1 ويتم تعيين \fIerrno\fP للإشارة إلى الخطأ. .SH الأخطاء .TP \fBEFAULT\fP جزء من أو كل نطاق الذاكرة المحدد بواسطة \fInodemask\fP و \fImaxnode\fP يشير إلى خارج مساحة العناوين التي يمكنك الوصول إليها. .TP \fBEINVAL\fP القيمة المحددة بواسطة \fImaxnode\fP أقل من عدد معرفات العقد المدعومة من قبل النظام. أو حدد \fIflags\fP قيمًا غير \fBMPOL_F_NODE\fP أو \fBMPOL_F_ADDR\fP؛ أو حدد \fIflags\fP \fBMPOL_F_ADDR\fP وكان \fIaddr\fP NULL، أو لم يحدد \fIflags\fP \fBMPOL_F_ADDR\fP وكان \fIaddr\fP غير NULL. أو، حدد \fIflags\fP \fBMPOL_F_NODE\fP ولكن ليس \fBMPOL_F_ADDR\fP وسياسة الخيط الحالية ليست \fBMPOL_INTERLEAVE\fP ولا \fBMPOL_WEIGHTED_INTERLEAVE\fP. أو، حدد \fIflags\fP \fBMPOL_F_MEMS_ALLOWED\fP مع إما \fBMPOL_F_ADDR\fP أو \fBMPOL_F_NODE\fP. (وهناك حالات \fBEINVAL\fP أخرى.) .SH المعايير لينكس. .SH التاريخ لينكس 2.6.7. .SH ملاحظات للحصول على معلومات حول دعم المكتبات، انظر \fBnuma\fP(7). .SH "انظر أيضًا" \fBgetcpu\fP(2), \fBmbind\fP(2), \fBmmap\fP(2), \fBset_mempolicy\fP(2), \fBnuma\fP(3), \fBnuma\fP(7), \fBnumactl\fP(8) .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .