Re: more thread_info patches

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 31 May 2005 01:48:28 +0200 (CEST) Roman Zippel wrote:

| Hi,
| 
| On Thu, 21 Apr 2005, Al Viro wrote:
| 
| > 	thread_info, part 1:
| 
| Here are some possible followup patches. Since it's already some time ago 
| here are the original posts for everyone else:
| http://marc.theaimsgroup.com/?l=linux-kernel&m=111410539627881&w=2
| 
| This introduces an additional stack variable in task_struct. It's 
| basically redundant with the thread_info pointer, but in the long term I'd 
| like to get of the latter (with the following patches).
| 
| ---
| 
|  include/linux/init_task.h |    1 +
|  include/linux/sched.h     |    1 +
|  kernel/fork.c             |    1 +
|  3 files changed, 3 insertions(+)
| 
| Index: linux-2.6-mm/include/linux/sched.h
| ===================================================================
| --- linux-2.6-mm.orig/include/linux/sched.h	2005-05-31 01:19:01.636591190 +0200
| +++ linux-2.6-mm/include/linux/sched.h	2005-05-31 01:19:05.913856451 +0200
| @@ -617,6 +617,7 @@ struct mempolicy;
|  struct task_struct {
|  	volatile long state;	/* -1 unrunnable, 0 runnable, >0 stopped */
|  	struct thread_info *thread_info;
| +	void *stack;

Any reason this is void * instead of being more strongly typed?
Does the actual type vary?


And a general comments about the 4 emails:
they all have the same subject.  :(

I guess you need to read & follow:
http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt
and
http://linux.yyz.us/patch-format.html

so that Andrew doesn't have to keep saying this over and over again
(no, it's not just you).


|  	atomic_t usage;
|  	unsigned long flags;	/* per process flags, defined below */
|  	unsigned long ptrace;
| Index: linux-2.6-mm/include/linux/init_task.h
| ===================================================================
| --- linux-2.6-mm.orig/include/linux/init_task.h	2005-05-31 01:19:01.636591190 +0200
| +++ linux-2.6-mm/include/linux/init_task.h	2005-05-31 01:19:05.913856451 +0200
| @@ -71,6 +71,7 @@ extern struct group_info init_groups;
|  {									\
|  	.state		= 0,						\
|  	.thread_info	= &init_thread_info,				\
| +	.stack		= &init_stack,					\
|  	.usage		= ATOMIC_INIT(2),				\
|  	.flags		= 0,						\
|  	.lock_depth	= -1,						\
| Index: linux-2.6-mm/kernel/fork.c
| ===================================================================
| --- linux-2.6-mm.orig/kernel/fork.c	2005-05-31 01:19:01.636591190 +0200
| +++ linux-2.6-mm/kernel/fork.c	2005-05-31 01:19:29.954726757 +0200
| @@ -173,6 +173,7 @@ static struct task_struct *dup_task_stru
|  	*tsk = *orig;
|  	setup_thread_info(tsk, ti);
|  	tsk->thread_info = ti;
| +	tsk->stack = ti;
|  	ti->task = tsk;
|  
|  	/* One for us, one for whoever does the "release_task()" (usually parent) */
| -

---
~Randy
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux