Re: Memory limits - mm_segment_t - MAKE_MM_SEG

From: Michal Simek
Date: Thu Apr 30 2009 - 10:28:52 EST


Arnd Bergmann wrote:
> 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.

Please CC me for this patch. Thanks.

>
>> 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.

Great. I'll use only thread_info structure.

>
>> 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.

OK. I'll move all things from segment.h to uaccess.h in my next branch.

Michal

>
> Arnd <><


--
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/