Messages in this thread | | | From | Arnd Bergmann <> | Subject | Re: Memory limits - mm_segment_t - MAKE_MM_SEG | Date | Thu, 30 Apr 2009 15:50:34 +0200 |
| |
On Wednesday 29 April 2009, Michal Simek wrote: > I look at some things which I need to clear for MMU Microblaze patches and > I would like to know your opinion about. > > First of all I found that almost all archs use MAKE_MM_SEG macro which > should be good to move to generic location (asm-generic/uaccess.h ? ) > #define MAKE_MM_SEG(s) ((mm_segment_t) { (s) })
I have a generic uaccess.h queued up, which I'm planning to submit for 2.6.30 that includes this.
> The second thing is about place where is stored limit for processes -> mm_segment_t structure > > Where is the proper location for storing mm_segment_t? Some arch use > thread_info some of them thread_struct
The method that is used here is different on some architectures. Most of them use the address limit, which is a property of the thread, and sensibly belongs into the thread_info. s390 and possibly others have separate address spaces for user access and use a CPU feature for this, which belongs into thread_struct.
> Here is the small table for cpus which are in linux kernel and location and type for them. > The most of them uses thread_info structure for it and name is addr_limit. > The location of mm_segment_t is different too -> we should move it to any generic location too. > What do you think?
Sounds fair to me. I think uaccess.h is the best place for this, or maybe a new mm_segment.h, but not segment.h which is used traditionally for real segments on x86.
Arnd <><
| |