mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-17 09:14:19 +08:00
[POWERPC] spufs: add a phys-id attribute to each SPU context
For performance analysis, it is often interesting to know which physical SPE a thread is currently running on, and, more importantly, if it is running at all. This patch adds a simple attribute to each SPU directory with that information. The attribute is read-only and called 'phys-id'. It contains an ascii string with the number of the physical SPU (e.g. "0x5"), or alternatively the string "0xffffffff" (32 bit -1) when it is not running at all at the time that the file is read. Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
parent
724bd80e81
commit
7b1a701480
@ -1328,6 +1328,22 @@ static u64 spufs_srr0_get(void *data)
|
||||
DEFINE_SIMPLE_ATTRIBUTE(spufs_srr0_ops, spufs_srr0_get, spufs_srr0_set,
|
||||
"%llx\n")
|
||||
|
||||
static u64 spufs_id_get(void *data)
|
||||
{
|
||||
struct spu_context *ctx = data;
|
||||
u64 num;
|
||||
|
||||
spu_acquire(ctx);
|
||||
if (ctx->state == SPU_STATE_RUNNABLE)
|
||||
num = ctx->spu->number;
|
||||
else
|
||||
num = (unsigned int)-1;
|
||||
spu_release(ctx);
|
||||
|
||||
return num;
|
||||
}
|
||||
DEFINE_SIMPLE_ATTRIBUTE(spufs_id_ops, spufs_id_get, 0, "0x%llx\n")
|
||||
|
||||
struct tree_descr spufs_dir_contents[] = {
|
||||
{ "mem", &spufs_mem_fops, 0666, },
|
||||
{ "regs", &spufs_regs_fops, 0666, },
|
||||
@ -1351,5 +1367,6 @@ struct tree_descr spufs_dir_contents[] = {
|
||||
{ "spu_tag_mask", &spufs_spu_tag_mask_ops, 0666, },
|
||||
{ "event_mask", &spufs_event_mask_ops, 0666, },
|
||||
{ "srr0", &spufs_srr0_ops, 0666, },
|
||||
{ "phys-id", &spufs_id_ops, 0666, },
|
||||
{},
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user