.\" -*- coding: UTF-8 -*- .\" Copyright 2006, International Business Machines Corp. .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH spu_create 2 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم spu_create \- إنشاء سياق spu جديد .SH المكتبة مكتبة سي المعيارية (\fIlibc\fP،\ \fI\-lc\fP) .SH موجز .nf \fB#include \fP /* تعريف ثوابت \fBSPU_*\fP */ \fB#include \fP /* تعريف ثوابت \fBSYS_*\fP */ \fB#include \fP .P \fBint syscall(SYS_spu_create, const char *\fP\fIpath\fP\fB, unsigned int \fP\fIflags\fP\fB,\fP \fB mode_t \fP\fImode\fP\fB, int \fP\fIneighbor_fd\fP\fB);\fP .fi .P \fIملاحظة\fP: لا توفر glibc غلافًا لـ \fBspu_create\fP()، مما يستلزم استخدام \fBsyscall\fP(2). .SH الوصف تُستخدم استدعاء النظام \fBspu_create\fP() على أجهزة PowerPC التي تطبق بنية Cell Broadband Engine للوصول إلى وحدات المعالجة المتآزرة (SPUs). ينشئ سياقًا منطقيًا جديدًا لـ SPU في \fIpath\fP ويعيد واصف ملف مرتبطًا به. يجب أن يشير \fIpath\fP إلى دليل غير موجود في نقطة وصل نظام ملفات SPU (\fBspufs\fP). إذا نجح \fBspu_create\fP()، يُنشأ دليل في \fIpath\fP ويُملأ بالملفات الموصوفة في \fBspufs\fP(7). .P عند إنشاء سياق، يمكن تمرير واصف الملف المُعاد فقط إلى \fBspu_run\fP(2)، أو استخدامه كوسيط \fIdirfd\fP لعائلة استدعاءات النظام \fB*at\fP (مثل \fBopenat\fP(2))، أو إغلاقه؛ العمليات الأخرى غير محددة. يُدمر سياق SPU المنطقي (مع جميع الملفات المنشأة داخل دليل \fIpath\fP للسياق) بمجرد زوال المرجع الأخير للسياق؛ يحدث هذا عادةً عند إغلاق واصف الملف المُعاد بواسطة \fBspu_create\fP(). .P يحدد وسيط \fImode\fP (مطروحًا منه أي بتات مضبوطة في \fBumask\fP(2) للعملية) الأذونات المستخدمة لإنشاء الدليل الجديد في \fBspufs\fP. راجع \fBstat\fP(2) للحصول على قائمة كاملة بقيم \fImode\fP الممكنة. .P يُستخدم \fIneighbor_fd\fP فقط عند تحديد العلم \fBSPU_CREATE_AFFINITY_SPU\fP؛ انظر أدناه. .P يمكن أن يكون وسيط \fIflags\fP صفرًا أو أي مجموعة OR\-ed بت\-wise من الثوابت التالية: .TP \fBSPU_CREATE_EVENTS_ENABLED\fP بدلاً من استخدام الإشارات للإبلاغ عن أخطاء DMA، استخدم وسيط \fIevent\fP لـ \fBspu_run\fP(2). .TP \fBSPU_CREATE_GANG\fP إنشاء عصابة SPU بدلاً من سياق. (العصابة هي مجموعة من سياقات SPU المرتبطة وظيفيًا ببعضها البعض والتي تشارك معلمات جدولة مشتركة\[em]الأولوية والسياسة. في المستقبل، قد يُنفذ جدولة العصابة مما يتسبب في تبديل المجموعة كوحدة واحدة.) .IP سيُنشأ دليل جديد في الموقع المحدد بواسطة وسيط \fIpath\fP. يمكن استخدام هذه العصابة لاحتواء سياقات SPU أخرى، عن طريق توفير اسم مسار داخل دليل العصابة لاستدعاءات أخرى لـ \fBspu_create\fP(). .TP \fBSPU_CREATE_NOSCHED\fP إنشاء سياق لا يتأثر بجدولة SPU. بمجرد تشغيل السياق، لن يُجدول خارجًا حتى يُدمر بواسطة العملية المنشئة. .IP نظرًا لعدم إمكانية إزالة السياق من SPU، تُعطل بعض الوظائف لسياقات \fBSPU_CREATE_NOSCHED\fP. ستتوفر مجموعة فرعية فقط من الملفات في دليل السياق هذا في \fBspufs\fP. بالإضافة إلى ذلك، لا يمكن لسياقات \fBSPU_CREATE_NOSCHED\fP تفريغ ملف أساسي عند التعطل. .IP يتطلب إنشاء سياقات \fBSPU_CREATE_NOSCHED\fP القدرة \fBCAP_SYS_NICE\fP. .TP \fBSPU_CREATE_ISOLATE\fP إنشاء سياق SPU معزول. السياقات المعزولة محمية من بعض عمليات PPE (عنصر معالجة PowerPC)، مثل الوصول إلى المخزن المحلي لـ SPU وسجل NPC. .IP يتطلب إنشاء سياقات \fBSPU_CREATE_ISOLATE\fP أيضًا العلم \fBSPU_CREATE_NOSCHED\fP. .TP \fBSPU_CREATE_AFFINITY_SPU\fP (منذ Linux 2.6.23) .\" commit 8e68e2f248332a9c3fd4f08258f488c209bd3e0c إنشاء سياق بتقارب مع سياق SPU آخر. تُستخدم معلومات التقارب هذه داخل خوارزمية جدولة SPU. يتطلب استخدام هذا العلم تمرير واصف ملف يشير إلى سياق SPU الآخر في وسيط \fIneighbor_fd\fP. .TP \fBSPU_CREATE_AFFINITY_MEM\fP (منذ Linux 2.6.23) .\" commit 8e68e2f248332a9c3fd4f08258f488c209bd3e0c إنشاء سياق بتقارب مع ذاكرة النظام. تُستخدم معلومات التقارب هذه داخل خوارزمية جدولة SPU. .SH "قيمة الإرجاع" عند النجاح، يُعيد \fBspu_create\fP() واصف ملف جديد. عند الفشل، يُعاد \-1، ويُضبط \fIerrno\fP للإشارة إلى الخطأ. .SH الأخطاء .TP \fBEACCES\fP ليس لدى المستخدم الحالي صلاحية الكتابة إلى نقطة وصل \fBspufs\fP(7). .TP \fBEEXIST\fP يوجد سياق SPU بالفعل في اسم المسار المُعطى. .TP \fBEFAULT\fP \fIpath\fP ليس مؤشر سلسلة صالحًا في مساحة عنوان العملية المستدعية. .TP \fBEINVAL\fP \fIpath\fP ليس دليلاً في نقطة وصل \fBspufs\fP(7)، أو تم توفير أعلام غير صالحة. .TP \fBELOOP\fP تم العثور على عدد كبير جدًا من الروابط الرمزية أثناء تحليل \fIpath\fP. .TP \fBEMFILE\fP وُصل إلى الحد الأقصى لواصفات الملفات المفتوحة لكل عملية. .TP \fBENAMETOOLONG\fP المسار \fIpath\fP طويل جداً. .TP \fBENFILE\fP وُصل إلى الحد الأقصى لإجمالي عدد الملفات المفتوحة على مستوى النظام. .TP \fBENODEV\fP تم طلب سياق معزول، لكن العتاد لا يدعم عزل SPU. .TP \fBENOENT\fP تعذر تحليل جزء من \fIpath\fP. .TP \fBENOMEM\fP تعذر على النواة تخصيص جميع الموارد المطلوبة. .TP \fBENOSPC\fP لا توجد موارد SPU كافية متاحة لإنشاء سياق جديد أو تم الوصول إلى الحد الخاص بالمستخدم لعدد سياقات SPU. .TP \fBENOSYS\fP هذه الوظيفة غير مقدمة من قبل النظام الحالي، لأن الأجهزة لا توفر وحدات SPUs أو لأن وحدة spufs غير محملة. .TP \fBENOTDIR\fP جزء من \fIpath\fP ليس دليلاً. .TP \fBEPERM\fP تم إعطاء العلم \fBSPU_CREATE_NOSCHED\fP، لكن المستخدم لا يمتلك القدرة \fBCAP_SYS_NICE\fP. .SH الملفات يجب أن يشير \fIpath\fP إلى موقع أسفل نقطة الوصل لـ \fBspufs\fP. حسب الاصطلاح، يتم وصله في \fI/spu\fP. .SH المعايير لينكس على PowerPC. .SH التاريخ لينكس 2.6.16. .P قبل إضافة العلم \fBSPU_CREATE_AFFINITY_SPU\fP في لينكس 2.6.23، كانت استدعاء النظام \fBspu_create\fP() تأخذ ثلاث وسائط فقط (أي، لم يكن هناك وسيطة \fIneighbor_fd\fP). .SH ملاحظات \fBspu_create\fP() مخصص للاستخدام من المكتبات التي تنفذ واجهة أكثر تجريدًا لـ SPUs، وليس للاستخدام من التطبيقات العادية. انظر .UR http:\://www.bsc.es\:/projects\:/deepcomputing\:/linuxoncell/ .UE للمكتبات الموصى بها. .SH أمثلة انظر \fBspu_run\fP(2) لمثال على استخدام \fBspu_create\fP() .SH "انظر أيضًا" \fBclose\fP(2), \fBspu_run\fP(2), \fBcapabilities\fP(7), \fBspufs\fP(7) .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .