OSDN Git Service

Release some pages for LDP v3.79
[linuxjm/LDP_man-pages.git] / release / man2 / spu_create.2
index e058dda..05da7ac 100644 (file)
@@ -1,7 +1,6 @@
-.\" This is _*_ nroff _*_ source. Emacs, gimme all those colors :)
-.\"
 .\" Copyright (c) International Business Machines Corp., 2006
 .\"
+.\" %%%LICENSE_START(GPLv2+_SW_3_PARA)
 .\" This program is free software; you can redistribute it and/or
 .\" modify it under the terms of the GNU General Public License as
 .\" published by the Free Software Foundation; either version 2 of
 .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
 .\" the GNU General Public License for more details.
 .\"
-.\" You should have received a copy of the GNU General Public License
-.\" along with this program; if not, write to the Free Software
-.\" Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-.\" MA 02111-1307 USA
+.\" You should have received a copy of the GNU General Public
+.\" License along with this manual; if not, see
+.\" <http://www.gnu.org/licenses/>.
+.\" %%%LICENSE_END
 .\"
 .\" HISTORY:
 .\" 2005-09-28, created by Arnd Bergmann <arndb@de.ibm.com>
 .\" 2006-06-16, revised by Eduardo M. Fleury <efleury@br.ibm.com>
 .\" 2007-07-10, some polishing by mtk
+.\" 2007-09-28, updates for newer kernels by Jeremy Kerr <jk@ozlabs.org>
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
 .\"
 .\" Japanese Version Copyright (c) 2007  Akihiro MOTOKI
 .\"         all rights reserved.
 .\" Translated 2007-10-23, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\" Updated 2013-05-01, Akihiro MOTOKI <amotoki@gmail.com>
 .\"
-.TH SPU_CREATE 2 2007-07-10 "Linux" "Linux Programmer's Manual"
+.TH SPU_CREATE 2 2012\-08\-05 Linux "Linux Programmer's Manual"
 .SH 名前
 spu_create \- 新しい SPU コンテキストを生成する
 .SH 書式
 .nf
-.B #include <sys/types.h>
-.B #include <sys/spu.h>
+\fB#include <sys/types.h>\fP
+\fB#include <sys/spu.h>\fP
 
-.BI "int spu_create(const char *" pathname ", int " flags ", mode_t " mode ");"
+\fBint spu_create(const char *\fP\fIpathname\fP\fB, int \fP\fIflags\fP\fB, mode_t \fP\fImode\fP\fB);\fP
+\fBint spu_create(const char *\fP\fIpathname\fP\fB, int \fP\fIflags\fP\fB, mode_t \fP\fImode\fP\fB,\fP
+\fB               int \fP\fIneighbor_fd\fP\fB);\fP
 .fi
+
+\fI注\fP: このシステムコールには glibc のラッパー関数は存在しない。「注意」の節を参照。
 .SH 説明
-.BR spu_create ()
-システムコールは、Cell Broadband Engine アーキテクチャを実装した
-PowerPC マシンにおいて、Synergistic Processor Unit (SPU) にアクセスする
-ために使用される。
-このシステムコールは、SPU に対する新しい論理コンテキストを
-.I pathname
-に生成し、そのコンテキストに関連付けられたファイルディスクリプタを返す。
-.I pathname
-は SPU ファイルシステム (SPUFS) のマウントポイント内の
-存在しないディレクトリを指していなければならない。
-.BR spu_create ()
-が成功すると、
-.I pathname
-にディレクトリが生成され、そのディレクトリに
-.BR spufs (7)
+\fBspu_create\fP() システムコールは、Cell Broadband Engine アーキテクチャーを実装した PowerPC
+マシンにおいて、Synergistic Processor Unit (SPU) にアクセスするために使用される。 このシステムコールは、 SPU
+に対する新しい論理コンテキストを \fIpathname\fP に生成し、 そのコンテキストに関連付けられたファイルディスクリプターを返す。
+\fIpathname\fP は SPU ファイルシステム (\fBspufs\fP) のマウントポイント内の存在しないディレクトリを指していなければならない。
+\fBspu_create\fP() が成功すると、 \fIpathname\fP にディレクトリが生成され、 そのディレクトリに \fBspufs\fP(7)
 で説明されているファイル群が配置される。
 
-返されたファイルハンドラは、
-.BR spu_run (2)
-に渡すか、クローズするかしかできない。
-他の操作は定義されていない。
-論理 SPU コンテキストが破棄されるのは、
-コンテキスト自身へのファイルディスクリプタがクローズされ、
-その中のファイルへのファイルディスクリプタが全てクローズされたときである。
-SPU コンテキストが破棄されると、SPUFS 内のそのディレクトリの全てのエントリ
-が削除される。
+コンテキストを作成した際、返されたファイルディスクリプターは、 \fBspu_run\fP(2) に渡すか、 \fB*at\fP 系のシステムコール
+(\fBopenat\fP(2) など) の \fIdirfd\fP 引き数として使用するか、 クローズするか、しかできない。 他の操作は定義されていない。
+そのコンテキストへの最後の参照がなくなった際に、 論理 SPU コンテキストは破棄される (そのコンテキストの \fIpathname\fP
+ディレクトリに作成されたファイルもすべて破棄される)。 通常は \fBspu_create\fP()
+が返したファイルディスクリプターがクローズされた際に発生する。
+
+\fIflags\fP 引き数には 0 か以下の定数の組み合わせ (ビット単位の論理和) を指定できる。
+.TP 
+\fBSPU_CREATE_EVENTS_ENABLED\fP
+DMA エラーを通知するのにシグナルを使うのではなく、 \fBspu_run\fP(2) の \fIevent\fP 引き数を使用する。
+.TP 
+\fBSPU_CREATE_GANG\fP
+コンテキストの代わりに SPU gang を作成する。 (gang は、機能的に互いに関係していて、スケジューリングパラメーター (優先度とポリシー)
+を共有する SPU コンテキストのグループである。 将来、 グループ全体が一つの単位としてスイッチイン/スイッチアウトされる gang
+スケジューリングが実装されるかもしれない。)
+
+\fIpathname\fP 引き数で指定された場所に新しいディレクトリが作成される。 この gang を使って他の SPU
+コンテキストを保持することができる。 それには、それ以降の \fBspu_create\fP() に gang ディレクトリ内のパス名を渡す。
+.TP 
+\fBSPU_CREATE_NOSCHED\fP
+SPU スケジューラーの影響を受けないコンテキストを作成する。 一度実行されると、
+呼び出したプロセスが破棄されるまでこのコンテキストがスケジューリングで追い出されることはない。
+
+このコンテキストは SPU から削除されることはないので、 \fBSPU_CREATE_NOSCHED\fP コンテキストではいくつかの機能は無効にされる。
+\fBspufs\fP のこのコンテキストのディレクトリでは一部のファイルだけができる。 また、 \fBSPU_CREATE_NOSCHED\fP
+コンテキストはクラッシュした際にコアファイルをダンプできない。
+
+\fBSPU_CREATE_NOSCHED\fP コンテキストを作成するには \fBCAP_SYS_NICE\fP ケーパビリティが必要である。
+.TP 
+\fBSPU_CREATE_ISOLATE\fP
+隔離された SPU コンテキストを作成する。 隔離されたコンテキストはいくつかの PPE (PowerPC Processing Element)
+命令から保護される。 SPU ローカルストアや NPC レジスターへのアクセスなどである。
 
-引き数
-.I flags
-にはゼロか以下の定数を指定できる。
-.TP
-.B SPU_RAWIO
-SPU のハードウェアレジスタのいくつかをユーザ空間にマッピングすることを
-許可する。このフラグを指定するには
-.B CAP_SYS_RAWIO
-ケーパビリティが必要である。
+\fBSPU_CREATE_ISOLATE\fP コンテキストを作成するには \fBSPU_CREATE_NOSCHED\fP フラグも指定する必要がある。
+.TP 
+\fBSPU_CREATE_AFFINITY_SPU\fP
+別の SPU コンテキストと affinity (親和性) を持ったコンテキストを作成する。 この affinity 情報は SPU
+スケジューリングアルゴリズムで使用される。 このフラグを使う際には、 他の SPU コンテキストを指すファイルディスクリプターを
+\fIneighbor_fd\fP 引き数を渡す必要がある。
+.TP 
+\fBSPU_CREATE_AFFINITY_MEM\fP
+システムメモリーと affinity (親和性) を持ったコンテキストを作成する。 この affinity 情報は SPU
+スケジューリングアルゴリズムで使用される。
 .PP
-SPUFS 内に新しく生成されたディレクトリとファイルのアクセス許可は、
-.I mode
-引き数からそのプロセスの
-.BR umask (2)
-を引いた値に設定される。
-各ファイルの実際のアクセス許可は、そのファイルが読み出しアクセスや
-書き込みアクセスをサポートしているかも考慮して決まる。
+\fImode\fP 引き数 (からプロセスの \fBumask\fP(2) でセットされたビットを除いたもの) により、 \fBspufs\fP
+に作られる新しいディレクトリで使用されるアクセス許可が決まる。 利用できる \fImode\fP 値の完全なリストについては \fBstat\fP(2) を参照。
 .SH 返り値
-成功すると、
-.BR spu_create (2)
-は新しいファイルディスクリプタを返す。
-エラーの場合、\-1 を返し、
-.I errno
+成功すると、 \fBspu_create\fP() は新しいファイルディスクリプターを返す。 エラーの場合、\-1 を返し、 \fIerrno\fP
 に以下のリストに記載のエラーコードのいずれかを設定する。
 .SH エラー
-.TP
-.B EACCES
-現在のユーザが SPUFS のマウントポイントへの書き込み許可を持っていない。
-.TP
-.B EEXIST
-指定されたパス名の SPU コンテキストがすでに生成されている。
-.TP
-.B EFAULT
-.I pathname
-が現在のアドレス空間で有効な文字列ポインタではない。
-.TP
-.B EINVAL
-.I pathname
-が SPUFS マウントポインタ内のディレクトリではない。
-.TP
-.B ELOOP
-.I pathname
-を解決するまでに辿ったシンボリックリンクが多過ぎた。
-.TP
-.B EMFILE
+.TP 
+\fBEACCES\fP
+現在のユーザーが \fBspufs\fP(7) のマウントポイントへの書き込み許可を持って
+いない。
+.TP 
+\fBEEXIST\fP
+指定されたパス名で SPU コンテキストがすでに生成されている。
+.TP 
+\fBEFAULT\fP
+\fIpathname\fP が呼び出し元のプロセスのアドレス空間で有効な文字列ポインターではない。
+.TP 
+\fBEINVAL\fP
+\fIpathname\fP が SPUFS マウントポイント内のディレクトリではない。 または、無効なフラグが指定された。
+.TP 
+\fBELOOP\fP
+\fIpathname\fP を解決するまでに辿ったシンボリックリンクが多過ぎた。
+.TP 
+\fBEMFILE\fP
 そのプロセスがオープンできるファイル数の上限に達していた。
-.TP
-.B ENAMETOOLONG
-.I pathname
-が長過ぎる。
-.TP
-.B ENFILE
+.TP 
+\fBENAMETOOLONG\fP
+\fIpathname\fP が長過ぎる。
+.TP 
+\fBENFILE\fP
 システム全体でオープンできるファイル数の上限に達していた。
-.TP
-.B ENOENT
-.I pathname
-の一部が解決できなかった。
-.TP
-.B ENOMEM
+.TP 
+\fBENODEV\fP
+隔離されたコンテキストが要求されたが、 ハードウェアが SPU アイソレーションをサポートしていない。
+.TP 
+\fBENOENT\fP
+\fIpathname\fP の一部が解決できなかった。
+.TP 
+\fBENOMEM\fP
 カーネルが必要なリソースの全てを割り当てることができなかった。
-.TP
-.B ENOSPC
-新しいコンテキストを生成するのに十分な SPU リソースがなかった、
-または SPU コンテキスト数がそのユーザの特定の上限に達していた。
-.TP
-.B ENOSYS
-機能が動作中のシステムで提供されていない。理由は、
-ハードウェアで SPU が提供されていないか、
-spufs モジュールがロードされていないか、のどちらかである。
-.TP
-.B ENOTDIR
-.I pathname
-の一部がディレクトリではない。
+.TP 
+\fBENOSPC\fP
+新しいコンテキストを生成するのに十分な SPU リソースがなかった、 または SPU コンテキスト数がそのユーザーの特定の上限に達していた。
+.TP 
+\fBENOSYS\fP
+機能が動作中のシステムで提供されていない。理由は、 ハードウェアで SPU が提供されていないか、 spufs
+モジュールがロードされていないか、のどちらかである。
+.TP 
+\fBENOTDIR\fP
+\fIpathname\fP の一部がディレクトリではない。
+.TP 
+\fBEPERM\fP
+\fISPU_CREATE_NOSCHED\fP フラグが指定されたが、ユーザーが \fBCAP_SYS_NICE\fP ケーパビリティを持っていない。
 .SH ファイル
-.I pathname
-は SPUFS のマウントポイントの配下の場所を指していなければならない。
-慣例では、SPUFS は
-.I /spu
-にマウントされる。
+\fIpathname\fP は \fBspufs\fP のマウントポイントの配下の場所を指して
+いなければならない。 慣例では \fI/spu\fP にマウントされる。
 .SH バージョン
-.BR spu_create (2)
-システムコールはカーネル 2.6.16 で Linux に追加された。
+\fBspu_create\fP() システムコールはカーネル 2.6.16 で Linux に追加された。
 .SH 準拠
-このシステムコールは Linux 固有であり、
-ppc64 アーキテクチャでのみ実装されている。
+このシステムコールは Linux 固有であり、 PowerPC アーキテクチャーでのみ実装されている。
 このシステムコールを使ったプログラムは移植性がない。
 .SH 注意
-glibc はこのシステムコールに対するラッパー関数を提供していない。
-.BR syscall (2)
-を使うこと。ただし、
-.BR spu_create ()
-は より抽象度の高い SPU へのインタフェースを実装するライブラリから
-利用されることを意図したものであり、通常のアプリケーションから
-使用は意図されていない。推奨のライブラリについては
-.I http://www.bsc.es/projects/deepcomputing/linuxoncell/
+glibc はこのシステムコールに対するラッパー関数を提供していない。 \fBsyscall\fP(2)  を使うこと。ただし、
+\fBspu_create\fP()  は より抽象度の高い SPU へのインターフェースを実装するライブラリから
+利用されることを意図したものであり、通常のアプリケーションから 使用は意図されていない。推奨のライブラリについては
+.UR http://www.bsc.es\:/projects\:/deepcomputing\:/linuxoncell/
+.UE
 を参照のこと。
-.SH バグ
-実際のコードではここで述べた全ての機能が完全に実装されているわけではない。
-.\" .SH AUTHOR
-.\" Arnd Bergmann <arndb@de.ibm.com>
+.SH 例
+\fBspu_create\fP() の利用例については \fBspu_run\fP(2) を参照。
 .SH 関連項目
-.BR close (2),
-.BR spu_run (2),
-.BR capabilities (7),
-.BR spufs (7)
+\fBclose\fP(2), \fBspu_run\fP(2), \fBcapabilities\fP(7), \fBspufs\fP(7)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。