SOURCES: kernel-desktop-preempt-rt.patch * fixes: - removed extrav...

sparky sparky at pld-linux.org
Mon May 1 17:15:09 CEST 2006


Author: sparky                       Date: Mon May  1 15:15:09 2006 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
* fixes:
- removed extraversion change
- adjusted linux/arch/x86_64/kernel/entry.S patch to apply
- removed pointless change in linux/drivers/video/console/fbcon.c
- KERN_MAX_LOCK_DEPTH sysctl changed to 80 for not to conflict with fbsplash
- removed already applied PG_Private -> PG_Buddy changes

---- Files affected:
SOURCES:
   kernel-desktop-preempt-rt.patch (1.1 -> 1.2) 

---- Diffs:

================================================================
Index: SOURCES/kernel-desktop-preempt-rt.patch
diff -u SOURCES/kernel-desktop-preempt-rt.patch:1.1 SOURCES/kernel-desktop-preempt-rt.patch:1.2
--- SOURCES/kernel-desktop-preempt-rt.patch:1.1	Mon May  1 17:07:35 2006
+++ SOURCES/kernel-desktop-preempt-rt.patch	Mon May  1 17:15:04 2006
@@ -1799,15 +1799,6 @@
 ===================================================================
 --- linux.orig/Makefile
 +++ linux/Makefile
-@@ -1,7 +1,7 @@
- VERSION = 2
- PATCHLEVEL = 6
- SUBLEVEL = 16
--EXTRAVERSION =
-+EXTRAVERSION =-rt18
- NAME=Sliding Snow Leopard
- 
- # *DOCUMENTATION*
 @@ -511,10 +511,14 @@ CFLAGS		+= $(call add-align,CONFIG_CC_AL
  CFLAGS		+= $(call add-align,CONFIG_CC_ALIGN_LOOPS,-loops)
  CFLAGS		+= $(call add-align,CONFIG_CC_ALIGN_JUMPS,-jumps)
@@ -13441,7 +13432,7 @@
  /*
   * C code is not supposed to know about undefined top of stack. Every time 
   * a C function with an pt_regs argument is called from the SYSCALL based 
-@@ -231,8 +240,8 @@ sysret_check:		
+@@ -235,8 +244,8 @@
  	/* edx:	work, edi: workmask */	
  sysret_careful:
  	CFI_RESTORE_STATE
@@ -13452,16 +13443,16 @@
  	sti
  	pushq %rdi
  	CFI_ADJUST_CFA_OFFSET 8
-@@ -253,7 +262,7 @@ sysret_signal:
+@@ -257,7 +266,7 @@
  	leaq -ARGOFFSET(%rsp),%rdi # &pt_regs -> arg1
  	xorl %esi,%esi # oldset -> arg2
  	call ptregscall_common
 -1:	movl $_TIF_NEED_RESCHED,%edi
 +1:	movl $(_TIF_NEED_RESCHED|_TIF_NEED_RESCHED_DELAYED),%edi
- 	jmp sysret_check
- 	
- badsys:
-@@ -321,8 +330,8 @@ int_with_check:
+ 	/* Use IRET because user could have changed frame. This
+ 	   works because ptregscall_common has called FIXUP_TOP_OF_STACK. */
+ 	cli
+@@ -329,8 +338,8 @@
  	/* First do a reschedule test. */
  	/* edx:	work, edi: workmask */
  int_careful:
@@ -13472,7 +13463,7 @@
  	sti
  	pushq %rdi
  	CFI_ADJUST_CFA_OFFSET 8
-@@ -355,7 +364,7 @@ int_signal:
+@@ -363,7 +372,7 @@
  	movq %rsp,%rdi		# &ptregs -> arg1
  	xorl %esi,%esi		# oldset -> arg2
  	call do_notify_resume
@@ -13481,7 +13472,7 @@
  int_restore_rest:
  	RESTORE_REST
  	cli
-@@ -561,8 +570,8 @@ bad_iret:
+@@ -553,8 +562,8 @@
  	/* edi: workmask, edx: work */
  retint_careful:
  	CFI_RESTORE_STATE
@@ -13492,7 +13483,7 @@
  	sti
  	pushq %rdi
  	CFI_ADJUST_CFA_OFFSET	8
-@@ -584,7 +593,7 @@ retint_signal:
+@@ -576,7 +585,7 @@
  	call do_notify_resume
  	RESTORE_REST
  	cli
@@ -13501,7 +13492,7 @@
  	GET_THREAD_INFO(%rcx)
  	jmp retint_check
  
-@@ -600,6 +609,7 @@ retint_kernel:	
+@@ -592,6 +601,7 @@
  	bt   $9,EFLAGS-ARGOFFSET(%rsp)	/* interrupts off? */
  	jnc  retint_restore_args
  	call preempt_schedule_irq
@@ -13509,7 +13500,7 @@
  	jmp exit_intr
  #endif	
  	CFI_ENDPROC
-@@ -1059,3 +1069,41 @@ ENTRY(call_softirq)
+@@ -1051,3 +1061,41 @@
  	decl %gs:pda_irqcount
  	ret
  	CFI_ENDPROC
@@ -18148,27 +18139,6 @@
 ===================================================================
 --- linux.orig/drivers/video/console/fbcon.c
 +++ linux/drivers/video/console/fbcon.c
-@@ -1183,7 +1183,6 @@ static void fbcon_clear(struct vc_data *
- {
- 	struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]];
- 	struct fbcon_ops *ops = info->fbcon_par;
--
- 	struct display *p = &fb_display[vc->vc_num];
- 	u_int y_break;
- 
-@@ -1212,10 +1211,11 @@ static void fbcon_putcs(struct vc_data *
- 	struct display *p = &fb_display[vc->vc_num];
- 	struct fbcon_ops *ops = info->fbcon_par;
- 
--	if (!fbcon_is_inactive(vc, info))
-+	if (!fbcon_is_inactive(vc, info)) {
- 		ops->putcs(vc, info, s, count, real_y(p, ypos), xpos,
- 			   get_color(vc, info, scr_readw(s), 1),
- 			   get_color(vc, info, scr_readw(s), 0));
-+	}
- }
- 
- static void fbcon_putc(struct vc_data *vc, int c, int ypos, int xpos)
 @@ -2985,6 +2985,7 @@ static const struct consw fb_con = {
  	.con_screen_pos 	= fbcon_screen_pos,
  	.con_getxy 		= fbcon_getxy,
@@ -26487,19 +26457,6 @@
 ===================================================================
 --- linux.orig/include/linux/mm.h
 +++ linux/include/linux/mm.h
-@@ -229,10 +229,9 @@ struct page {
- 		unsigned long private;		/* Mapping-private opaque data:
- 					 	 * usually used for buffer_heads
- 						 * if PagePrivate set; used for
--						 * swp_entry_t if PageSwapCache.
--						 * When page is free, this
-+						 * swp_entry_t if PageSwapCache;
- 						 * indicates order in the buddy
--						 * system.
-+						 * system if PG_buddy is set.
- 						 */
- 		struct address_space *mapping;	/* If low bit clear, points to
- 						 * inode address_space, or NULL.
 @@ -1022,13 +1021,20 @@ static inline void vm_stat_account(struc
  }
  #endif /* CONFIG_PROC_FS */
@@ -26686,32 +26643,6 @@
 +extern raw_spinlock_t oprofilefs_lock;
   
  #endif /* OPROFILE_H */
-Index: linux/include/linux/page-flags.h
-===================================================================
---- linux.orig/include/linux/page-flags.h
-+++ linux/include/linux/page-flags.h
-@@ -74,7 +74,9 @@
- #define PG_mappedtodisk		16	/* Has blocks allocated on-disk */
- #define PG_reclaim		17	/* To be reclaimed asap */
- #define PG_nosave_free		18	/* Free, should not be written */
--#define PG_uncached		19	/* Page has been mapped as uncached */
-+#define PG_buddy		19	/* Page is free, on buddy lists */
-+
-+#define PG_uncached		20	/* Page has been mapped as uncached */
- 
- /*
-  * Global page accounting.  One instance per CPU.  Only unsigned longs are
-@@ -319,6 +321,10 @@ extern void __mod_page_state_offset(unsi
- #define SetPageNosaveFree(page)	set_bit(PG_nosave_free, &(page)->flags)
- #define ClearPageNosaveFree(page)		clear_bit(PG_nosave_free, &(page)->flags)
- 
-+#define PageBuddy(page)		test_bit(PG_buddy, &(page)->flags)
-+#define __SetPageBuddy(page)	__set_bit(PG_buddy, &(page)->flags)
-+#define __ClearPageBuddy(page)	__clear_bit(PG_buddy, &(page)->flags)
-+
- #define PageMappedToDisk(page)	test_bit(PG_mappedtodisk, &(page)->flags)
- #define SetPageMappedToDisk(page) set_bit(PG_mappedtodisk, &(page)->flags)
- #define ClearPageMappedToDisk(page) clear_bit(PG_mappedtodisk, &(page)->flags)
 Index: linux/include/linux/pagemap.h
 ===================================================================
 --- linux.orig/include/linux/pagemap.h
@@ -29814,7 +29745,7 @@
  	KERN_SPIN_RETRY=70,	/* int: number of spinlock retries */
  	KERN_ACPI_VIDEO_FLAGS=71, /* int: flags for setting up video after ACPI sleep */
  	KERN_IA64_UNALIGNED=72, /* int: ia64 unaligned userland trap enable */
-+	KERN_MAX_LOCK_DEPTH=73
++	KERN_MAX_LOCK_DEPTH=80,
  };
  
  
@@ -50167,82 +50098,6 @@
  static void __free_pages_ok(struct page *page, unsigned int order);
  
  /*
-@@ -153,7 +153,8 @@ static void bad_page(struct page *page)
- 			1 << PG_reclaim |
- 			1 << PG_slab    |
- 			1 << PG_swapcache |
--			1 << PG_writeback );
-+			1 << PG_writeback |
-+			1 << PG_buddy );
- 	set_page_count(page, 0);
- 	reset_page_mapcount(page);
- 	page->mapping = NULL;
-@@ -224,12 +225,12 @@ static inline unsigned long page_order(s
- 
- static inline void set_page_order(struct page *page, int order) {
- 	set_page_private(page, order);
--	__SetPagePrivate(page);
-+	__SetPageBuddy(page);
- }
- 
- static inline void rmv_page_order(struct page *page)
- {
--	__ClearPagePrivate(page);
-+	__ClearPageBuddy(page);
- 	set_page_private(page, 0);
- }
- 
-@@ -268,11 +269,13 @@ __find_combined_index(unsigned long page
-  * This function checks whether a page is free && is the buddy
-  * we can do coalesce a page and its buddy if
-  * (a) the buddy is not in a hole &&
-- * (b) the buddy is free &&
-- * (c) the buddy is on the buddy system &&
-- * (d) a page and its buddy have the same order.
-- * for recording page's order, we use page_private(page) and PG_private.
-+ * (b) the buddy is in the buddy system &&
-+ * (c) a page and its buddy have the same order.
-+ *
-+ * For recording whether a page is in the buddy system, we use PG_buddy.
-+ * Setting, clearing, and testing PG_buddy is serialized by zone->lock.
-  *
-+ * For recording page's order, we use page_private(page).
-  */
- static inline int page_is_buddy(struct page *page, int order)
- {
-@@ -281,10 +284,10 @@ static inline int page_is_buddy(struct p
- 		return 0;
- #endif
- 
--       if (PagePrivate(page)           &&
--           (page_order(page) == order) &&
--            page_count(page) == 0)
-+       if (PageBuddy(page) && page_order(page) == order) {
-+	       BUG_ON(page_count(page) != 0);
-                return 1;
-+       }
-        return 0;
- }
- 
-@@ -301,7 +304,7 @@ static inline int page_is_buddy(struct p
-  * as necessary, plus some accounting needed to play nicely with other
-  * parts of the VM system.
-  * At each level, we keep a list of pages, which are heads of continuous
-- * free pages of length of (1 << order) and marked with PG_Private.Page's
-+ * free pages of length of (1 << order) and marked with PG_buddy. Page's
-  * order is recorded in page_private(page) field.
-  * So when we are allocating or freeing one, we can derive the state of the
-  * other.  That is, if we allocate a small block, and both were   
-@@ -364,7 +367,8 @@ static inline int free_pages_check(struc
- 			1 << PG_slab	|
- 			1 << PG_swapcache |
- 			1 << PG_writeback |
--			1 << PG_reserved ))))
-+			1 << PG_reserved |
-+			1 << PG_buddy ))))
- 		bad_page(page);
- 	if (PageDirty(page))
- 		__ClearPageDirty(page);
 @@ -390,7 +394,9 @@ static inline int free_pages_check(struc
  static void free_pages_bulk(struct zone *zone, int count,
  					struct list_head *list, int order)
@@ -50296,16 +50151,6 @@
  	} else {
  		LIST_HEAD(list);
  		int loop;
-@@ -522,7 +528,8 @@ static int prep_new_page(struct page *pa
- 			1 << PG_slab    |
- 			1 << PG_swapcache |
- 			1 << PG_writeback |
--			1 << PG_reserved ))))
-+			1 << PG_reserved |
-+			1 << PG_buddy ))))
- 		bad_page(page);
- 
- 	/*
 @@ -568,6 +575,7 @@ static struct page *__rmqueue(struct zon
  	return NULL;
  }
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/SOURCES/kernel-desktop-preempt-rt.patch?r1=1.1&r2=1.2&f=u



More information about the pld-cvs-commit mailing list