Skip to content

RFC SGI Altix cross partition memory (XPMEM)

Dean Nelson linux-ia64 linux-mm lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest2 of 3 patches 7 repliesIn review

2 of 3 patches are in this archive. The cover letter announces 3.

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
2/3SGI Altix cross partition memory (XPMEM)mm/memory.c+1 -00 replies
3/3SGI Altix cross partition memory (XPMEM)+0 -06 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [RFC 0/3] SGI Altix cross partition memory (XPMEM)

Terminology

The term 'partition', adopted by the SGI hardware designers and which perculated up into the software, is used in reference to a single SSI when multiple SSIs are running on a single Altix. An Altix running multiple SSIs is said to be 'partitioned', whereas one that is running only a single SSI is said to be 'unpartitioned'.

The term '[a]cross partition' refers to a functionality that spans between two SSIs on a multi-SSI Altix. ('XP' is its abbreviation.)

Introduction

This feature provides cross partition access to user memory (XPMEM) when running multiple partitions on a single SGI Altix. XPMEM, like XPNET, utilizes XPC to communicate between the partitions.

XPMEM allows a user process to identify portion(s) of its address space that other user processes can attach (i.e. map) into their own address spaces. These processes can be running on the same or a different partition from the one whose memory they are attaching.

Known Issues

XPMEM is not currently using the kthread API (which is also true for XPC) because it was in the process of being changed to require a kthread_stop() be done for every kthread_create() and the kthread_stop() couldn't be called for a thread that had already exited. In talking with Eric Biederman, there was some thought of creating a kthread_orphan() which would eliminate the need for a call to kthread_stop() being required.