SOURCES (AC-branch): kernel24-epoll-lt.patch - update to 2.4.36.4, compiles...

glen glen at pld-linux.org
Tue May 13 00:58:57 CEST 2008


Author: glen                         Date: Mon May 12 22:58:57 2008 GMT
Module: SOURCES                       Tag: AC-branch
---- Log message:
- update to 2.4.36.4, compiles on i686

---- Files affected:
SOURCES:
   kernel24-epoll-lt.patch (1.1.2.1 -> 1.1.2.2) 

---- Diffs:

================================================================
Index: SOURCES/kernel24-epoll-lt.patch
diff -u SOURCES/kernel24-epoll-lt.patch:1.1.2.1 SOURCES/kernel24-epoll-lt.patch:1.1.2.2
--- SOURCES/kernel24-epoll-lt.patch:1.1.2.1	Sat Apr 12 19:48:42 2008
+++ SOURCES/kernel24-epoll-lt.patch	Tue May 13 00:58:52 2008
@@ -2460,15 +2460,6 @@
 diff -urN linux-2.4.32/include/linux/sched.h linux-2.4.32-epoll-lt-0.23/include/linux/sched.h
 --- linux-2.4.32/include/linux/sched.h	Thu May 25 11:37:21 2006
 +++ linux-2.4.32-epoll-lt-0.23/include/linux/sched.h	Sun Jun  4 22:54:52 2006
-@@ -135,6 +135,8 @@
- extern spinlock_t runqueue_lock;
- extern spinlock_t mmlist_lock;
- 
-+typedef struct task_struct task_t;
-+
- extern void sched_init(void);
- extern void init_idle(void);
- extern void show_state(void);
 @@ -593,6 +595,7 @@
  #define CURRENT_TIME (xtime.tv_sec)
  
@@ -2567,34 +2558,30 @@
  EXPORT_SYMBOL(poll_freewait);
  EXPORT_SYMBOL(ROOT_DEV);
  EXPORT_SYMBOL(__find_get_page);
-@@ -461,6 +461,7 @@
+@@ -468,6 +468,7 @@
  /* process management */
  EXPORT_SYMBOL(complete_and_exit);
  EXPORT_SYMBOL(__wake_up);
 +EXPORT_SYMBOL(__wake_up_locked);
- EXPORT_SYMBOL(__wake_up_sync);
  EXPORT_SYMBOL(wake_up_process);
  EXPORT_SYMBOL(sleep_on);
-diff -urN linux-2.4.32/kernel/sched.c linux-2.4.32-epoll-lt-0.23/kernel/sched.c
---- linux-2.4.32/kernel/sched.c	Sun Sep 12 18:31:02 2004
-+++ linux-2.4.32-epoll-lt-0.23/kernel/sched.c	Sun Jun  4 22:54:52 2006
-@@ -714,16 +714,24 @@
- static inline void __wake_up_common (wait_queue_head_t *q, unsigned int mode,
- 			 	     int nr_exclusive, const int sync)
+ EXPORT_SYMBOL(sleep_on_timeout);
+--- linux-2.4.36/kernel/sched.c~	2008-05-12 20:33:39.000000000 +0300
++++ linux-2.4.36/kernel/sched.c	2008-05-12 20:41:26.305873367 +0300
+@@ -1003,13 +1003,22 @@
+  */
+ static inline void __wake_up_common(wait_queue_head_t *q, unsigned int mode, int nr_exclusive, int sync)
  {
 -	struct list_head *tmp;
 +	struct list_head *tmp, *next;
- 	struct task_struct *p;
+ 	unsigned int state;
+ 	wait_queue_t *curr;
+ 	task_t *p;
  
- 	CHECK_MAGIC_WQHEAD(q);
- 	WQ_CHECK_LIST_HEAD(&q->task_list);
- 	
--	list_for_each(tmp,&q->task_list) {
+-	list_for_each(tmp, &q->task_list) {
 +	list_for_each_safe(tmp, next, &q->task_list) {
- 		unsigned int state;
 +		wait_queue_func_t func;
-                 wait_queue_t *curr = list_entry(tmp, wait_queue_t, task_list);
--
+ 		curr = list_entry(tmp, wait_queue_t, task_list);
 +		func = curr->func;
 +		if (func) {
 +			unsigned flags = curr->flags;
@@ -2603,15 +2590,13 @@
 +				break;
 +			continue;
 +		}
- 		CHECK_MAGIC(curr->__magic);
  		p = curr->task;
  		state = p->state;
-@@ -743,6 +751,15 @@
- 		__wake_up_common(q, mode, nr, 0);
- 		wq_read_unlock_irqrestore(&q->lock, flags);
- 	}
-+}
-+
+ 		if ((state & mode) && try_to_wake_up(p, sync) &&
+@@ -1044,6 +1035,15 @@
+ 	wq_read_unlock_irqrestore(&q->lock, flags);
+ }
+ 
 +/*
 + * Same as __wake_up but called with the spinlock in wait_queue_head_t held.
 + * Note that q cannot be NULL.
@@ -2619,6 +2604,28 @@
 +void fastcall __wake_up_locked(wait_queue_head_t *q, unsigned int mode)
 +{
 +	__wake_up_common(q, mode, 1, 0);
- }
++}
++
+ #if CONFIG_SMP
  
- void fastcall __wake_up_sync(wait_queue_head_t *q, unsigned int mode, int nr)
+ void fastcall __wake_up_sync(wait_queue_head_t *q, unsigned int mode, int nr_exclusive)
+--- linux-2.4.36/fs/davfs/sock.c~	2008-05-13 01:27:21.000000000 +0300
++++ linux-2.4.36/fs/davfs/sock.c	2008-05-13 01:27:22.714665169 +0300
+@@ -180,7 +180,7 @@
+ 
+ 
+ int do_tcp_rcv(struct dav_sb_info *server, void *buffer, size_t len) {
+-    poll_table wait_table;
++    struct poll_wqueues wait_table;
+     struct socket *sock = server->sock;
+     int init_timeout=10;
+     size_t dataread;
+@@ -201,7 +201,7 @@
+ 	   instructions adding the wait_table waitqueues in the
+ 	   waitqueue-head before going to calculate the mask-retval. */
+ 	__set_current_state(TASK_INTERRUPTIBLE);
+-	if (!(sock->ops->poll(server->sock_file, sock, &wait_table) & POLLIN)) {
++	if (!(sock->ops->poll(server->sock_file, sock, &wait_table.pt) & POLLIN)) {
+ 	    init_timeout = schedule_timeout(init_timeout);
+ 	    poll_freewait(&wait_table);
+ 	    current->state = TASK_RUNNING;
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/kernel24-epoll-lt.patch?r1=1.1.2.1&r2=1.1.2.2&f=u



More information about the pld-cvs-commit mailing list