linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Arrr! Linux 2.6.18
@ 2006-09-20  4:33 Linus Torvalds
  2006-09-20  4:59 ` Michal Piotrowski
                   ` (4 more replies)
  0 siblings, 5 replies; 19+ messages in thread
From: Linus Torvalds @ 2006-09-20  4:33 UTC (permalink / raw)
  To: Linux Kernel Mailing List

[-- Attachment #1: Type: TEXT/PLAIN, Size: 8383 bytes --]


Ahoy!

She's good to go, hoist anchor!

Here's some real booty for all you land-lubbers. 

There's not too many changes, with t'bulk of the patch bein' defconfig 
updates, but the shortlog at the aft of this here email describes the 
details if you care, you scurvy dogs.

Header cleanups, various one-liners, and random other fixes.

		Linus "but you can call me Cap'n"

---

Adrian Bunk:
      Ahoy! Make fs/jffs2/nodelist.c:jffs2_obsolete_node_frag() static
      fs/jffs2/xattr.c: maroon dead code

Al "Bilge rat" Viro:
      [IPV4] fib_trie: missin' ntohl() when callin' fib_semantic_match()

Alexey Dobriyan:
      headers_check: improve #include regexp
      headers_check: clarify error message

Alexey Korolev:
      [MTD] Fixes of performance and stability issues in CFI driver. Arrr!

Cap'n Andrew Morton:
      Blimey! hvc_console suspend fix

Andy Walker:
      [SPARC]: Fix mutimous regression in sys_getdomainname()

Arnaud Patard:
      IPMI: Fix oops on ipmi_msghandler removal for non ipmi systems. Gar!

Artem B. Bityutskiy:
      [MTD] NAND: keelhaul marooned URL in Kconfig

Aubrey Lee:
      [MTD] DEVICES: Fill more device IDs in t'structure of m25p80

Auke Kok:
      e1000: fix bilge-sucking TX timout hang regression for 82542rev3

Ben Dooks:
      [ARM] 3784/1: S3C2413: keelhaul config for MACH_S3C2413/MACH_SMDK2413
      [ARM] 3785/1: S3C2412: Fix idle code as default uses wrong clocks
      [ARM] 3793/1: S3C2412: fix barnacles in wrong serial info struct
      [ARM] 3794/1: S3C24XX: do not defined set_irq_wake when no CONFIG_PM

Benjamin Herrenschmidt:
      [POWERPC] Fix G5 DART (IOMMU) race causin' occasional data corruption

Benjamin LaHaise:
      i386/x86-64: Add core 2 to oprofile

Chas Williams:
      [ATM]: [he] when transmit fails, unmap t'dma regions right smartly
      [ATM]: [he] don't hold t'device lock when upcalling

Chuck Ebbert:
      Kconfig: move CONFIG_EMBEDDED options to submenu. Gar!

Corey Minyard:
      IPMI: keelhaul handlin' of OEM flags

Dale Farnsworth:
      mv643xx_eth: Unmap DMA buffers in receive path

Dan Williams:
      [ARM] 3780/1: Fix iop321 cpuid

Dave Kleikamp:
      [Shiver me timbers] EXT2: Remove superblock lock contention in ext2_statfs

David S. Miller:
      [OPENPROMIO]: Handle current_node bein' NULL correctly. Arrr!

David Woodhouse:
      [MTD NAND] Fix lookup error in nand_get_flash_type()
      [POWERPC] Implement PowerPC futex_atomic_cmpxchg_inatomic(). Arrr!
      headers_check: reduce user-visible noise in <linux/nfs_fs.h>
      headers_check: remove <asm/timex.h> from user export
      headers_check: move inclusion of <linux/linkage.h> in <asm-i386/signal.h>
      headers_check: move kernel-only #includes within <asm-i386/elf.h>
      headers_check: don't expose PFN stuff to userspace in <asm-i386/setup.h>
      headers_check: keelhaul userspace build of asm-mips/page.h
      Fix scurvy 'make headers_check' on biarch architectures
      Fix 'make headers_check' on s390
      Fix 'make headers_check' on ia64
      Fix 'make headers_check' on i386
      Fix 'make headers_check' on x86_64
      Fix 'make headers_check' for Alpha
      headers_check: use a different default directory
      Add headers_check' target to output of 'make help'

Davy Jones:
      Didn't do anything, the scurvy lad. Ahoy!

Eli Cohen:
      IPoIB: Retry failed send-only multicast group joins. Gar!

Frank Pavlic:
      s390: minor s390 network driver fixes
      s390: netiucv driver fixes
      s390: Makefile cleanup
      s390: qeth driver fixes [1/6]
      s390: qeth driver fixes [2/6]
      s390: qeth driver fixes [3/6]
      s390: qeth driver fixes [4/6]
      s390: qeth driver fixes [5/6]
      s390: qeth driver fixes [6/6]

Geert Uytterhoeven:
      Well blow me down, if he didn't fix 'make headers_check' on ia64

Greg KH:
      We can not allow anonymous contributions to t'kernel

Haavard Skinnemoen:
      MTD: Convert Atmel PRI information to AMD format
      MTD: Add lock/unlock operations for Atmel AT49BV6416

Havasi Ferenc:
      [JFFS2][SUMMARY] Fix a bilge-suckin' summary collectin' bug. Arrr!

Herbert Xu:
      [NET]: Drop tx lock in dev_watchdog_up

HÃ¥vard Skinnemoen:
      MTD: Fix bug in fixup_convert_atmel_pri

Imre Deak:
      genirq: Fix the typo in IRQ resend smartly, cabin boy!

Ingo Molnar:
      lockdep: double the number of stack-trace entries
      genirq core: keelhaul handle_level_irq()

Ishai Rabinovitz:
      IB/srp: Don't schedule reconnect from srp

James Morris:
      [NETFILTER]: Add secmark headers to header-y

Jeremy Fitzhardinge:
      x86: reserve a boot-loader ID number for Xen

Jon Loeliger:
      [POWERPC] Add new, missin' argument to of_irq_map_raw() for 86xx. Arrr!

Josef 'Jeff' Sipek:
      [MTD] Use SEEK_{SET,CUR,END} instead of hardcoded values in mtdchar lseek()

Josh Triplett:
      Add preprocessed files (*.i) to .gitignore
      Add mixed source and assembly listings (*.lst) to .gitignore
      Add symbol type files (*.symtypes) to .gitignore

Kenneth Lee:
      bug fix for bilge-suckin' in kernel/kmod.c

Kirill Korotaev:
      [NEIGH]: neigh_table_clear() doesn't free stats

Linus "Cap'n" Torvalds:
      x86: save/restore eflags in context switch
      Avast! Belay those mmiocfg heuristics and blacklist changes
      Linux v2.6.18. Arrr!

Matthew Wilcox:
      headers_check: Clean up asm-parisc/page.h for user headers

Michael De Backer:
      alim15x3.c: M5229 (rev c8) support for DMA cd-writer

Michael S. Tsirkin:
      RDMA/cma: Increase t'IB CM retry count in CMA

Mike Miller:
      cciss: version update, new hw

Mohan Kumar M:
      [POWERPC] Fix interrupt clearin' in kdump shutdown sequence

NeilBrown:
      knfsd: Have ext2 reject file handles with bad inode numbers early
      knfsd: Make ext3 reject filehandles referrin' to invalid inode number

Olaf Hering:
      [POWERPC] update prep_defconfig

Oleg Nesterov:
      rcu_do_batch: make ->qlen decrement irq safe

Patrick McHardy:
      [PACKET]: Don't truncate non-linear skbs with mmaped IO
      [NETFILTER]: xt_quota: add missin' module aliases

Paul "Peg leg" Mackerras:
      [POWERPC] Update defconfigs
      [POWERPC] Fix MMIO ops to provide expected barrier behaviour

Ralph Siemsen:
      [ARM] 3815/1: headers_install support for ARM

Remi Denis-Courmont:
      [IPV6]: Accept -1 for IPV6_TCLASS

Richard Purdie:
      MTD: [NAND] Fix t'sharpsl driver after breakage from a core conversion

Roland Dreier:
      [ATM]: linux-atm-general mailin' list is subscribers only

Rolf Eike Beer:
      remove #error on !PCI from pmc551.c

Ross Biro:
      Add a missin' space that prevents buildin' modules that require host programs

Sachin P. Sant:
      [POWERPC] kdump: Support kernels havin' 64k page size. Arrr!

Simon Horman:
      [IPVS]: Document t'ports option to ip_vs_ftp in kernel-parameters.txt
      [IPVS]: auto-help for ip_vs_ftp
      [IPVS]: Make sure ip_vs_ftp ports are valid
      [IPVS]: remove the debug option go ip_vs_ftp

Stefan Richter:
      SCSI: lockdep annotation in scsi_send_eh_cmnd

Stephen Hemminger:
      [TCP]: Turn ABC off. Arrr!
      [BRIDGE]: random extra bytes on STP TCN packet
      [NET]: Mark frame diverter for future removal. Arrr!

Suparna Bhattacharya:
      ext3 sequential read regression fix

Takashi YOSHI:
      MTD: Add Macronix MX29F040 to JEDEC

Takashi YOSHII:
      [MTD] Maps: Add dependency on alternate probe methods to physmap

Tejun Heo:
      libata: ignore CFA signature while sanity-checkin' an ATAPI device

Trond Myklebust:
      NFS: Fix Oopsable condition in nfs_readpage_sync()
      NFSv4: Fix incorrect semaphore release in _nfs4_do_open()
      NFS: Fix nfs_page use after free issues in fs/nfs/write.c

Ulrich Kunitz:
      zd1211rw: Fix of signal strength and quality measurement

Ville Herva:
      block2mtd.c: Make kernel boot command line arguments work (try 4)

Vitaly Wool:
      [MTD] NAND: OOB buffer offset fixups
      [ARM] 3786/1: pnx4008: update defconfig
      MTD NAND: OOB buffer offset fixups

Wong Hoi Sing Edison:
      [TCP] tcp-lp: bug fix for oops in 2.6.18-rc6
      [TCP] tcp-lp: update information to MAINTAINERS

YOSHIFUJI Hideaki:
      [IPV6]: Fix tclass settin' for raw sockets.
      [ATM] CLIP: Do not refer freed skbuff in clip_mkip(). Arrr!

Zoltan Sogor:
      JFFS2: SUMMARY: keelhaul a summary collectin' bug

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Arrr! Linux 2.6.18
  2006-09-20  4:33 Arrr! Linux 2.6.18 Linus Torvalds
@ 2006-09-20  4:59 ` Michal Piotrowski
  2006-09-20  7:25 ` [patch] do_no_pfn() Jes Sorensen
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 19+ messages in thread
From: Michal Piotrowski @ 2006-09-20  4:59 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Linux Kernel Mailing List

Ahoy!

On 20/09/06, Linus Torvalds <torvalds@osdl.org> wrote:
>
> Ahoy!
>
> She's good to go, hoist anchor!
>
> Here's some real booty for all you land-lubbers.
>
> There's not too many changes, with t'bulk of the patch bein' defconfig
> updates, but the shortlog at the aft of this here email describes the
> details if you care, you scurvy dogs.

You have improved your piratish :)

>
> Header cleanups, various one-liners, and random other fixes.
>
>                 Linus "but you can call me Cap'n"
>

Michal "landlubber"

-- 
Michal K. K. Piotrowski
LTG - Linux Testers Group
(http://www.stardust.webpages.pl/ltg/)

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [patch] do_no_pfn()
  2006-09-20  4:33 Arrr! Linux 2.6.18 Linus Torvalds
  2006-09-20  4:59 ` Michal Piotrowski
@ 2006-09-20  7:25 ` Jes Sorensen
  2006-09-20 15:46   ` Randy.Dunlap
  2006-09-22 19:49   ` Andrew Morton
  2006-09-22 21:51 ` Arrr! Linux 2.6.18 Judith Lebzelter
                   ` (2 subsequent siblings)
  4 siblings, 2 replies; 19+ messages in thread
From: Jes Sorensen @ 2006-09-20  7:25 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Linux Kernel Mailing List, bjorn_helgaas, Nick Piggin,
	Andrew Morton, Robin Holt, Dean Nelson, Hugh Dickins

Ahoy Cap'n

Since the ship has docked, the cargo doors must be all open and ready
to take another load of stuff destined for exotic places.

Yet again, I would like to add the do_no_pfn() patch which we
discussed earlier. Nothing has changed in it for months and you
haven't raised any eyebrows over it since the last discussion where
you said it could play within the rules, so maybe this is a good time?

Cheers,
Jes

Implement do_no_pfn() for handling mapping of memory without a struct
page backing it. This avoids creating fake page table entries for
regions which are not backed by real memory.

This feature is used by the MSPEC driver and other users, where it is
highly undesirable to have a struct page sitting behind the page
(for instance if the page is accessed in cached mode via the struct
page in parallel to the the driver accessing it uncached, which can
result in data corruption on some architectures, such as ia64).

This version uses specific NOPFN_{SIGBUS,OOM} return values, rather
than expect all negative pfn values would be an error. It also bugs on
cow mappings as this would not work with the VM.

Signed-off-by: Jes Sorensen <jes@sgi.com>

---
 include/linux/mm.h |    7 +++++
 mm/memory.c        |   62 ++++++++++++++++++++++++++++++++++++++++++++++++-----
 2 files changed, 64 insertions(+), 5 deletions(-)

Index: linux-2.6/include/linux/mm.h
===================================================================
--- linux-2.6.orig/include/linux/mm.h
+++ linux-2.6/include/linux/mm.h
@@ -197,6 +197,7 @@ struct vm_operations_struct {
 	void (*open)(struct vm_area_struct * area);
 	void (*close)(struct vm_area_struct * area);
 	struct page * (*nopage)(struct vm_area_struct * area, unsigned long address, int *type);
+	unsigned long (*nopfn)(struct vm_area_struct * area, unsigned long address);
 	int (*populate)(struct vm_area_struct * area, unsigned long address, unsigned long len, pgprot_t prot, unsigned long pgoff, int nonblock);
 
 	/* notification that a previously read-only page is about to become
@@ -625,6 +626,12 @@ static inline int page_mapped(struct pag
 #define NOPAGE_OOM	((struct page *) (-1))
 
 /*
+ * Error return values for the *_nopfn functions
+ */
+#define NOPFN_SIGBUS	((unsigned long) -1)
+#define NOPFN_OOM	((unsigned long) -2)
+
+/*
  * Different kinds of faults, as returned by handle_mm_fault().
  * Used to decide whether a process gets delivered SIGBUS or
  * just gets major/minor fault counters bumped up.
Index: linux-2.6/mm/memory.c
===================================================================
--- linux-2.6.orig/mm/memory.c
+++ linux-2.6/mm/memory.c
@@ -2211,6 +2211,52 @@ oom:
 }
 
 /*
+ * do_no_pfn() tries to create a new page mapping for a page without
+ * a struct_page backing it
+ *
+ * As this is called only for pages that do not currently exist, we
+ * do not need to flush old virtual caches or the TLB.
+ *
+ * We enter with non-exclusive mmap_sem (to exclude vma changes,
+ * but allow concurrent faults), and pte mapped but not yet locked.
+ * We return with mmap_sem still held, but pte unmapped and unlocked.
+ *
+ * It is expected that the ->nopfn handler always returns the same pfn
+ * for a given virtual mapping.
+ */
+static int do_no_pfn(struct mm_struct *mm, struct vm_area_struct *vma,
+		     unsigned long address, pte_t *page_table, pmd_t *pmd,
+		     int write_access)
+{
+	spinlock_t *ptl;
+	pte_t entry;
+	unsigned long pfn;
+	int ret = VM_FAULT_MINOR;
+
+	pte_unmap(page_table);
+	BUG_ON(!(vma->vm_flags & VM_PFNMAP));
+	BUG_ON(is_cow_mapping(vma->vm_flags));
+
+	pfn = vma->vm_ops->nopfn(vma, address & PAGE_MASK);
+	if (pfn == NOPFN_OOM)
+		return VM_FAULT_OOM;
+	if (pfn == NOPFN_SIGBUS)
+		return VM_FAULT_SIGBUS;
+
+	page_table = pte_offset_map_lock(mm, pmd, address, &ptl);
+
+	/* Only go through if we didn't race with anybody else... */
+	if (pte_none(*page_table)) {
+		entry = pfn_pte(pfn, vma->vm_page_prot);
+		if (write_access)
+			entry = maybe_mkwrite(pte_mkdirty(entry), vma);
+		set_pte_at(mm, address, page_table, entry);
+	}
+	pte_unmap_unlock(page_table, ptl);
+	return ret;
+}
+
+/*
  * Fault of a previously existing named mapping. Repopulate the pte
  * from the encoded file_pte if possible. This enables swappable
  * nonlinear vmas.
@@ -2272,11 +2318,17 @@ static inline int handle_pte_fault(struc
 	old_entry = entry = *pte;
 	if (!pte_present(entry)) {
 		if (pte_none(entry)) {
-			if (!vma->vm_ops || !vma->vm_ops->nopage)
-				return do_anonymous_page(mm, vma, address,
-					pte, pmd, write_access);
-			return do_no_page(mm, vma, address,
-					pte, pmd, write_access);
+			if (vma->vm_ops) {
+				if (vma->vm_ops->nopage)
+					return do_no_page(mm, vma, address,
+							  pte, pmd,
+							  write_access);
+				if (vma->vm_ops->nopfn)
+					return do_no_pfn(mm, vma, address, pte,
+							 pmd, write_access);
+			}
+			return do_anonymous_page(mm, vma, address,
+						 pte, pmd, write_access);
 		}
 		if (pte_file(entry))
 			return do_file_page(mm, vma, address,

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [patch] do_no_pfn()
  2006-09-20  7:25 ` [patch] do_no_pfn() Jes Sorensen
@ 2006-09-20 15:46   ` Randy.Dunlap
  2006-09-20 16:47     ` Jes Sorensen
  2006-09-22 19:49   ` Andrew Morton
  1 sibling, 1 reply; 19+ messages in thread
From: Randy.Dunlap @ 2006-09-20 15:46 UTC (permalink / raw)
  To: Jes Sorensen
  Cc: Linus Torvalds, Linux Kernel Mailing List, bjorn_helgaas,
	Nick Piggin, Andrew Morton, Robin Holt, Dean Nelson,
	Hugh Dickins

On 20 Sep 2006 03:25:25 -0400 Jes Sorensen wrote:

>  include/linux/mm.h |    7 +++++
>  mm/memory.c        |   62 ++++++++++++++++++++++++++++++++++++++++++++++++-----
>  2 files changed, 64 insertions(+), 5 deletions(-)
> 
> Index: linux-2.6/include/linux/mm.h
> ===================================================================
> --- linux-2.6.orig/include/linux/mm.h
> +++ linux-2.6/include/linux/mm.h

> @@ -625,6 +626,12 @@ static inline int page_mapped(struct pag
>  #define NOPAGE_OOM	((struct page *) (-1))
>  
>  /*
> + * Error return values for the *_nopfn functions
> + */
> +#define NOPFN_SIGBUS	((unsigned long) -1)
> +#define NOPFN_OOM	((unsigned long) -2)

Is there any difference in the above and

#define NOPFN_SIGBUS		-1UL
#define NOPFN_OOM		-2UL

?
---
~Randy

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [patch] do_no_pfn()
  2006-09-20 15:46   ` Randy.Dunlap
@ 2006-09-20 16:47     ` Jes Sorensen
  0 siblings, 0 replies; 19+ messages in thread
From: Jes Sorensen @ 2006-09-20 16:47 UTC (permalink / raw)
  To: Randy.Dunlap
  Cc: Linus Torvalds, Linux Kernel Mailing List, bjorn_helgaas,
	Nick Piggin, Andrew Morton, Robin Holt, Dean Nelson,
	Hugh Dickins

Randy.Dunlap wrote:
> On 20 Sep 2006 03:25:25 -0400 Jes Sorensen wrote:
>> +#define NOPFN_SIGBUS	((unsigned long) -1)
>> +#define NOPFN_OOM	((unsigned long) -2)
> 
> Is there any difference in the above and
> 
> #define NOPFN_SIGBUS		-1UL
> #define NOPFN_OOM		-2UL

I don't think there is, but I was trying to keep it consistent with the
NOPAGE_foo versions - the way it's done is more explicit so less likely
anyone will get confused over it.

I can change it if it's a sticking point, but I'd claim thats more noise
than it's worth.

Thanks,
Jes


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [patch] do_no_pfn()
  2006-09-20  7:25 ` [patch] do_no_pfn() Jes Sorensen
  2006-09-20 15:46   ` Randy.Dunlap
@ 2006-09-22 19:49   ` Andrew Morton
  2006-09-25  9:31     ` Jes Sorensen
  1 sibling, 1 reply; 19+ messages in thread
From: Andrew Morton @ 2006-09-22 19:49 UTC (permalink / raw)
  To: Jes Sorensen
  Cc: Linus Torvalds, Linux Kernel Mailing List, bjorn_helgaas,
	Nick Piggin, Robin Holt, Dean Nelson, Hugh Dickins

On 20 Sep 2006 03:25:25 -0400
Jes Sorensen <jes@sgi.com> wrote:

> Implement do_no_pfn() for handling mapping of memory without a struct
> page backing it. This avoids creating fake page table entries for
> regions which are not backed by real memory.
> 
> This feature is used by the MSPEC driver and other users, where it is
> highly undesirable to have a struct page sitting behind the page
> (for instance if the page is accessed in cached mode via the struct
> page in parallel to the the driver accessing it uncached, which can
> result in data corruption on some architectures, such as ia64).
> 
> This version uses specific NOPFN_{SIGBUS,OOM} return values, rather
> than expect all negative pfn values would be an error. It also bugs on
> cow mappings as this would not work with the VM.


How does this followup look?


We don't want the rarely-used do_no_pfn() to get inlined in the oft-used
handle_pte_fault(), using up icache.  Mark it noinline and unlikely.


--- a/mm/memory.c~do_no_pfn-tweaks
+++ a/mm/memory.c
@@ -2276,8 +2276,10 @@ oom:
  *
  * It is expected that the ->nopfn handler always returns the same pfn
  * for a given virtual mapping.
+ *
+ * Mark this `noinline' to prevent it from bloating the main pagefault code.
  */
-static int do_no_pfn(struct mm_struct *mm, struct vm_area_struct *vma,
+static noinline int do_no_pfn(struct mm_struct *mm, struct vm_area_struct *vma,
 		     unsigned long address, pte_t *page_table, pmd_t *pmd,
 		     int write_access)
 {
@@ -2376,7 +2378,7 @@ static inline int handle_pte_fault(struc
 					return do_no_page(mm, vma, address,
 							  pte, pmd,
 							  write_access);
-				if (vma->vm_ops->nopfn)
+				if (unlikely(vma->vm_ops->nopfn))
 					return do_no_pfn(mm, vma, address, pte,
 							 pmd, write_access);
 			}
_


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Arrr! Linux 2.6.18
  2006-09-20  4:33 Arrr! Linux 2.6.18 Linus Torvalds
  2006-09-20  4:59 ` Michal Piotrowski
  2006-09-20  7:25 ` [patch] do_no_pfn() Jes Sorensen
@ 2006-09-22 21:51 ` Judith Lebzelter
  2006-09-22 22:08   ` Jeff Garzik
  2006-09-29  8:36 ` Mark Lord
  2006-09-29  8:40 ` Mark Lord
  4 siblings, 1 reply; 19+ messages in thread
From: Judith Lebzelter @ 2006-09-22 21:51 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Linux Kernel Mailing List, dale

> 
> Dale Farnsworth:
>       mv643xx_eth: Unmap DMA buffers in receive path
> 

In OSDL's automated cross-compile for powerpc64, kernel 2.6.18 had this 
unexpected error:

drivers/net/mv643xx_eth.c: In function 'mv643xx_eth_receive_queue':
drivers/net/mv643xx_eth.c:388: error: 'RX_SKB_SIZE' undeclared (first use in this function)

Here is a patch that stops the error.

Judith Lebzelter
OSDL

--- drivers/net/mv643xx_eth.c.old	2006-09-22 11:22:47.951049416 -0700
+++ drivers/net/mv643xx_eth.c	2006-09-22 11:23:17.787625304 -0700
@@ -385,7 +385,7 @@
 	struct pkt_info pkt_info;
 
 	while (budget-- > 0 && eth_port_receive(mp, &pkt_info) == ETH_OK) {
-		dma_unmap_single(NULL, pkt_info.buf_ptr, RX_SKB_SIZE,
+		dma_unmap_single(NULL, pkt_info.buf_ptr, ETH_RX_SKB_SIZE,
 							DMA_FROM_DEVICE);
 		mp->rx_desc_count--;
 		received_packets++;

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Arrr! Linux 2.6.18
  2006-09-22 21:51 ` Arrr! Linux 2.6.18 Judith Lebzelter
@ 2006-09-22 22:08   ` Jeff Garzik
  2006-09-22 22:57     ` Dale Farnsworth
  0 siblings, 1 reply; 19+ messages in thread
From: Jeff Garzik @ 2006-09-22 22:08 UTC (permalink / raw)
  To: Judith Lebzelter; +Cc: Linus Torvalds, Linux Kernel Mailing List, dale

Judith Lebzelter wrote:
>> Dale Farnsworth:
>>       mv643xx_eth: Unmap DMA buffers in receive path
>>
> 
> In OSDL's automated cross-compile for powerpc64, kernel 2.6.18 had this 
> unexpected error:
> 
> drivers/net/mv643xx_eth.c: In function 'mv643xx_eth_receive_queue':
> drivers/net/mv643xx_eth.c:388: error: 'RX_SKB_SIZE' undeclared (first use in this function)
> 
> Here is a patch that stops the error.
> 
> Judith Lebzelter
> OSDL
> 
> --- drivers/net/mv643xx_eth.c.old	2006-09-22 11:22:47.951049416 -0700
> +++ drivers/net/mv643xx_eth.c	2006-09-22 11:23:17.787625304 -0700
> @@ -385,7 +385,7 @@
>  	struct pkt_info pkt_info;
>  
>  	while (budget-- > 0 && eth_port_receive(mp, &pkt_info) == ETH_OK) {
> -		dma_unmap_single(NULL, pkt_info.buf_ptr, RX_SKB_SIZE,
> +		dma_unmap_single(NULL, pkt_info.buf_ptr, ETH_RX_SKB_SIZE,
>  							DMA_FROM_DEVICE);

Man, talk about timing.  I just sent this to Andrew & Linus just a few 
seconds ago :)

	Jeff




^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Arrr! Linux 2.6.18
  2006-09-22 22:08   ` Jeff Garzik
@ 2006-09-22 22:57     ` Dale Farnsworth
  2006-09-22 22:58       ` Jeff Garzik
  0 siblings, 1 reply; 19+ messages in thread
From: Dale Farnsworth @ 2006-09-22 22:57 UTC (permalink / raw)
  To: Jeff Garzik
  Cc: Judith Lebzelter, Linus Torvalds, Linux Kernel Mailing List, dale

On Fri, Sep 22, 2006 at 06:08:25PM -0400, Jeff Garzik wrote:
> Judith Lebzelter wrote:
> >>Dale Farnsworth:
> >>      mv643xx_eth: Unmap DMA buffers in receive path
> >
> >In OSDL's automated cross-compile for powerpc64, kernel 2.6.18 had this 
> >unexpected error:
> >
> >drivers/net/mv643xx_eth.c: In function 'mv643xx_eth_receive_queue':
> >drivers/net/mv643xx_eth.c:388: error: 'RX_SKB_SIZE' undeclared (first use 
> >in this function)
> >
> >Here is a patch that stops the error.
> >
> >Judith Lebzelter
> >OSDL
> >
> >--- drivers/net/mv643xx_eth.c.old	2006-09-22 11:22:47.951049416 -0700
> >+++ drivers/net/mv643xx_eth.c	2006-09-22 11:23:17.787625304 -0700
> >@@ -385,7 +385,7 @@
> > 	struct pkt_info pkt_info;
> > 
> > 	while (budget-- > 0 && eth_port_receive(mp, &pkt_info) == ETH_OK) {
> >-		dma_unmap_single(NULL, pkt_info.buf_ptr, RX_SKB_SIZE,
> >+		dma_unmap_single(NULL, pkt_info.buf_ptr, ETH_RX_SKB_SIZE,
> > 							DMA_FROM_DEVICE);
> 
> Man, talk about timing.  I just sent this to Andrew & Linus just a few 
> seconds ago :)
> 
> 	Jeff

And I sent the same patch to you and netdev 2 days ago.  :)

Did you get the accompanying patch that removes this driver
from the powerpc64 build?  Or shall I resend it?

-Dale

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Arrr! Linux 2.6.18
  2006-09-22 22:57     ` Dale Farnsworth
@ 2006-09-22 22:58       ` Jeff Garzik
  0 siblings, 0 replies; 19+ messages in thread
From: Jeff Garzik @ 2006-09-22 22:58 UTC (permalink / raw)
  To: Dale Farnsworth
  Cc: Judith Lebzelter, Linus Torvalds, Linux Kernel Mailing List

Dale Farnsworth wrote:
> And I sent the same patch to you and netdev 2 days ago.  :)
> 
> Did you get the accompanying patch that removes this driver
> from the powerpc64 build?  Or shall I resend it?


I see both patches from you in my Pending folder.  I was just a dumbass. :)

	Jeff



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [patch] do_no_pfn()
  2006-09-22 19:49   ` Andrew Morton
@ 2006-09-25  9:31     ` Jes Sorensen
  0 siblings, 0 replies; 19+ messages in thread
From: Jes Sorensen @ 2006-09-25  9:31 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Linus Torvalds, Linux Kernel Mailing List, bjorn_helgaas,
	Nick Piggin, Robin Holt, Dean Nelson, Hugh Dickins

Andrew Morton wrote:

> How does this followup look?
> 
> We don't want the rarely-used do_no_pfn() to get inlined in the oft-used
> handle_pte_fault(), using up icache.  Mark it noinline and unlikely.


I'd say it looks good - will give a microscopic slowdown for do_no_pfn
but compared to the overall benefit I think thats more than acceptable.

Acked-by: Jes Sorensen <jes@sgi.com>

Cheers,
Jes

> --- a/mm/memory.c~do_no_pfn-tweaks
> +++ a/mm/memory.c
> @@ -2276,8 +2276,10 @@ oom:
>   *
>   * It is expected that the ->nopfn handler always returns the same pfn
>   * for a given virtual mapping.
> + *
> + * Mark this `noinline' to prevent it from bloating the main pagefault code.
>   */
> -static int do_no_pfn(struct mm_struct *mm, struct vm_area_struct *vma,
> +static noinline int do_no_pfn(struct mm_struct *mm, struct vm_area_struct *vma,
>  		     unsigned long address, pte_t *page_table, pmd_t *pmd,
>  		     int write_access)
>  {
> @@ -2376,7 +2378,7 @@ static inline int handle_pte_fault(struc
>  					return do_no_page(mm, vma, address,
>  							  pte, pmd,
>  							  write_access);
> -				if (vma->vm_ops->nopfn)
> +				if (unlikely(vma->vm_ops->nopfn))
>  					return do_no_pfn(mm, vma, address, pte,
>  							 pmd, write_access);
>  			}
> _


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Arrr! Linux 2.6.18
  2006-09-20  4:33 Arrr! Linux 2.6.18 Linus Torvalds
                   ` (2 preceding siblings ...)
  2006-09-22 21:51 ` Arrr! Linux 2.6.18 Judith Lebzelter
@ 2006-09-29  8:36 ` Mark Lord
  2006-09-29 14:49   ` Linus Torvalds
  2006-09-29  8:40 ` Mark Lord
  4 siblings, 1 reply; 19+ messages in thread
From: Mark Lord @ 2006-09-29  8:36 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Linux Kernel Mailing List

Mmm.. definite regression with -final versus -rc6.

My Latitude-X1 notebook loses video on resume-from-ram
with -final.  Worked fine with all versions from 2.6.16
through 2.6.18-rc6.  So something at the last moment broke it.

I'm travelling with it all this month, with only occasional
access here.  But any suggestions of *specific* patches to
try reverting would be welcome.  git-bisect is a non-starter.

Cheers

Mark Lord

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Arrr! Linux 2.6.18
  2006-09-20  4:33 Arrr! Linux 2.6.18 Linus Torvalds
                   ` (3 preceding siblings ...)
  2006-09-29  8:36 ` Mark Lord
@ 2006-09-29  8:40 ` Mark Lord
  2006-09-29  8:44   ` Andrew Morton
  4 siblings, 1 reply; 19+ messages in thread
From: Mark Lord @ 2006-09-29  8:40 UTC (permalink / raw)
  To: Linus Torvalds, Andrew Morton; +Cc: Linux Kernel Mailing List

Linus Torvalds wrote:
> ..
> Cap'n Andrew Morton:
>       Blimey! hvc_console suspend fix

Mmm.. I wonder if this could be what killed resume-from-RAM
on my notebook, between -rc6 and -final ?

Andrew, can you send me just that one patch, and I'll try reverting it.

Thanks.

Mark

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Arrr! Linux 2.6.18
  2006-09-29  8:40 ` Mark Lord
@ 2006-09-29  8:44   ` Andrew Morton
  2006-09-29 17:52     ` Mark Lord
  0 siblings, 1 reply; 19+ messages in thread
From: Andrew Morton @ 2006-09-29  8:44 UTC (permalink / raw)
  To: Mark Lord; +Cc: Linus Torvalds, Linux Kernel Mailing List

On Fri, 29 Sep 2006 04:40:03 -0400
Mark Lord <lkml@rtr.ca> wrote:

> Linus Torvalds wrote:
> > ..
> > Cap'n Andrew Morton:
> >       Blimey! hvc_console suspend fix
> 
> Mmm.. I wonder if this could be what killed resume-from-RAM
> on my notebook, between -rc6 and -final ?
> 
> Andrew, can you send me just that one patch, and I'll try reverting it.
> 

From: Andrew Morton <akpm@osdl.org>

Fix http://bugzilla.kernel.org/show_bug.cgi?id=7152

Cc: Michael Tautschnig <tautschn@model.in.tum.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 drivers/char/hvc_console.c |    1 +
 1 file changed, 1 insertion(+)

diff -puN drivers/char/hvc_console.c~hvc_console-suspend-fix drivers/char/hvc_console.c
--- a/drivers/char/hvc_console.c~hvc_console-suspend-fix
+++ a/drivers/char/hvc_console.c
@@ -668,6 +668,7 @@ int khvcd(void *unused)
 	do {
 		poll_mask = 0;
 		hvc_kicked = 0;
+		try_to_freeze();
 		wmb();
 		if (cpus_empty(cpus_in_xmon)) {
 			spin_lock(&hvc_structs_lock);
_


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Arrr! Linux 2.6.18
  2006-09-29  8:36 ` Mark Lord
@ 2006-09-29 14:49   ` Linus Torvalds
  0 siblings, 0 replies; 19+ messages in thread
From: Linus Torvalds @ 2006-09-29 14:49 UTC (permalink / raw)
  To: Mark Lord; +Cc: Linux Kernel Mailing List



On Fri, 29 Sep 2006, Mark Lord wrote:
> 
> My Latitude-X1 notebook loses video on resume-from-ram
> with -final.  Worked fine with all versions from 2.6.16
> through 2.6.18-rc6.  So something at the last moment broke it.

Well, try -rc7. -rc6 wasn't actually the last rc.

> I'm travelling with it all this month, with only occasional
> access here.  But any suggestions of *specific* patches to
> try reverting would be welcome.  git-bisect is a non-starter.

git bisect tends to often be faster than the alternatives, but yeah, since 
there's something like 200+ patches in between it's still around 8 reboots

That said, a quick look doesn't show anything really suspicuous.

(Hint for everybody: you can do something like

	gitk v2.6.18-rc6..v2.6.18 drivers/

to see all patches that touch just drivers)

I don't see anything really suspicious. The "hvc_console suspend fix" 
you already noted should not even be compiled on a regular laptop, afaik.

One of the nice things with git bisect is that if you have git on that 
machine at all, even if you just test one or two kernels (rather than the 
eight you need to pinpoint it exactly), you'll still help pinpointing a 
_lot_ (ie if you test two kernels, we should have the list of commits 
narrowed down from 200+ to just 53 or so).

		Linus

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Arrr! Linux 2.6.18
  2006-09-29  8:44   ` Andrew Morton
@ 2006-09-29 17:52     ` Mark Lord
  2006-09-29 19:42       ` Rafael J. Wysocki
  2006-09-29 19:58       ` Mark Lord
  0 siblings, 2 replies; 19+ messages in thread
From: Mark Lord @ 2006-09-29 17:52 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Linus Torvalds, Linux Kernel Mailing List

Andrew Morton wrote:
> On Fri, 29 Sep 2006 04:40:03 -0400
> Mark Lord <lkml@rtr.ca> wrote:
> 
>> Linus Torvalds wrote:
>>> ..
>>> Cap'n Andrew Morton:
>>>       Blimey! hvc_console suspend fix
>> Mmm.. I wonder if this could be what killed resume-from-RAM
>> on my notebook, between -rc6 and -final ?
>>
>> Andrew, can you send me just that one patch, and I'll try reverting it.
..
> --- a/drivers/char/hvc_console.c~hvc_console-suspend-fix
> +++ a/drivers/char/hvc_console.c

ARrrgyeeematey.. the Adm'rl was right about this,
my kernel doesn't even use that source file.

I'll look through all of the post-rc6 changes and see if anything
else might be a candidate.

Thanks

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Arrr! Linux 2.6.18
  2006-09-29 17:52     ` Mark Lord
@ 2006-09-29 19:42       ` Rafael J. Wysocki
  2006-09-29 19:58       ` Mark Lord
  1 sibling, 0 replies; 19+ messages in thread
From: Rafael J. Wysocki @ 2006-09-29 19:42 UTC (permalink / raw)
  To: Mark Lord; +Cc: Andrew Morton, Linus Torvalds, Linux Kernel Mailing List

On Friday, 29 September 2006 19:52, Mark Lord wrote:
> Andrew Morton wrote:
> > On Fri, 29 Sep 2006 04:40:03 -0400
> > Mark Lord <lkml@rtr.ca> wrote:
> > 
> >> Linus Torvalds wrote:
> >>> ..
> >>> Cap'n Andrew Morton:
> >>>       Blimey! hvc_console suspend fix
> >> Mmm.. I wonder if this could be what killed resume-from-RAM
> >> on my notebook, between -rc6 and -final ?
> >>
> >> Andrew, can you send me just that one patch, and I'll try reverting it.
> ..
> > --- a/drivers/char/hvc_console.c~hvc_console-suspend-fix
> > +++ a/drivers/char/hvc_console.c
> 
> ARrrgyeeematey.. the Adm'rl was right about this,
> my kernel doesn't even use that source file.
> 
> I'll look through all of the post-rc6 changes and see if anything
> else might be a candidate.

Or could your .config change between -rc6 and -final?

Rafael


-- 
You never change things by fighting the existing reality.
		R. Buckminster Fuller

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Arrr! Linux 2.6.18
  2006-09-29 17:52     ` Mark Lord
  2006-09-29 19:42       ` Rafael J. Wysocki
@ 2006-09-29 19:58       ` Mark Lord
  1 sibling, 0 replies; 19+ messages in thread
From: Mark Lord @ 2006-09-29 19:58 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Andrew Morton, Linux Kernel Mailing List

Mark Lord wrote:
>> Mark Lord <lkml@rtr.ca> wrote:
..
>>> Mmm.. I wonder if this could be what killed resume-from-RAM
>>> on my notebook, between -rc6 and -final ?
..
> I'll look through all of the post-rc6 changes and see if anything
> else might be a candidate.

Thus far, 2.6.18-rc7 seems to be okay, though it will take a day
or so to win full confidence here.  So now to pick over the rc7-final
patches..

Cheers

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Arrr! Linux 2.6.18
@ 2006-09-30 15:47 Chuck Ebbert
  0 siblings, 0 replies; 19+ messages in thread
From: Chuck Ebbert @ 2006-09-30 15:47 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Dave Jones, linux-kernel

In-Reply-To: <Pine.LNX.4.64.0609192126070.4388@g5.osdl.org>

On Tue, 19 Sep 2006 21:33:54 -0700, Linus Torvalds wrote:

> She's good to go, hoist anchor!
>
> Here's some real booty for all you land-lubbers. 

> Davy Jones:
>       Didn't do anything, the scurvy lad. Ahoy!

"I turned leeward in time to witness the full sail yardarm give way and
came crashing down on my midshipman's hind quarters. He let out a scream
that could be heard all the way down in Davy Jones' locker. Micky
Dolenz's locker too, and Peter Tork's locker. All the Monkees had
lockers."
                -- Crappy Jack the Sailor

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2006-09-30 15:51 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-09-20  4:33 Arrr! Linux 2.6.18 Linus Torvalds
2006-09-20  4:59 ` Michal Piotrowski
2006-09-20  7:25 ` [patch] do_no_pfn() Jes Sorensen
2006-09-20 15:46   ` Randy.Dunlap
2006-09-20 16:47     ` Jes Sorensen
2006-09-22 19:49   ` Andrew Morton
2006-09-25  9:31     ` Jes Sorensen
2006-09-22 21:51 ` Arrr! Linux 2.6.18 Judith Lebzelter
2006-09-22 22:08   ` Jeff Garzik
2006-09-22 22:57     ` Dale Farnsworth
2006-09-22 22:58       ` Jeff Garzik
2006-09-29  8:36 ` Mark Lord
2006-09-29 14:49   ` Linus Torvalds
2006-09-29  8:40 ` Mark Lord
2006-09-29  8:44   ` Andrew Morton
2006-09-29 17:52     ` Mark Lord
2006-09-29 19:42       ` Rafael J. Wysocki
2006-09-29 19:58       ` Mark Lord
2006-09-30 15:47 Chuck Ebbert

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).