public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Linux v2.6.18-rc3
@ 2006-07-30  6:27 Linus Torvalds
  2006-07-30  8:30 ` Russell King
                   ` (2 more replies)
  0 siblings, 3 replies; 27+ messages in thread
From: Linus Torvalds @ 2006-07-30  6:27 UTC (permalink / raw)
  To: Linux Kernel Mailing List


Ok, this missed a week (it should really have been -rc4, and we should 
have had a -rc3 a week ago), but the fact is, with a lot of people at the 
kernel summit and at OLS, it was so quiet for a week that there simply was 
no point.

In fact, it's been pretty quiet since too, which I attribute to 2.6.18-rc2 
just being so good, rather than the fact that it's summer and most people 
have probably been at the beach (or wished they were).

Or maybe it was just me missing some emails due to being away at the 
kernel summit. But I'll obviously blame just about anything else before 
admitting my own incompetence, so I seriously doubt that was it.

Anyway, shortlog appended, but there really hasn't been tons of stuff. 
Some network (and network driver) updates, infiniband, some scsi, and some 
fairly minor architecture updates (sparc, x86-64, arm).

		Linus

---
Adrian Bunk:
      [SCSI] aic79xx: make ahd_done_with_status() static
      [I/OAT]: net/core/user_dma.c should #include <net/netdma.h>
      [NETFILTER]: conntrack: fix SYSCTL=n compile

Alexey Dobriyan:
      [SUNLANCE]: fix compilation on sparc-UP

Alexey Kuznetsov:
      [IPV4] ipmr: ip multicast route bug fix.

Andi Kleen:
      i386/x86-64: Add user_mode checks to profile_pc for oprofile
      x86_64: Don't clobber r8-r11 in int 0x80 handler
      x86_64: Dump leftover backtrace entries when dwarf2 unwinder got stuck
      x86_64: Document backtracer selection options
      i386: Do backtrace fallback too
      x86_64: Update defconfig
      x86_64: On Intel systems when CPU has C3 don't use TSC
      x86_64: Revert k8-bus.c northbridge access change
      x86_64: Fix swiotlb=force
      i386: Fix up backtrace fallback patch
      MM: Remove rogue readahead printk

Andreas Krebbel:
      [S390] get_clock inline assembly.

Arjan van de Ven:
      Reorganize the cpufreq cpu hotplug locking to not be totally bizare

Auke Kok:
      e1000: Redo netpoll fix to address community concerns
      e1000: remove CRC bytes from measured packet length
      e1000: fix panic on large frame receive when mtu=default
      e1000: bump version to 7.1.9-k4

Ben Dooks:
      [ARM] 3732/1: S3C24XX: tidy syntax in osiris and anubis machines
      [ARM] 3733/2: S3C24XX: Remove old IDE registers in Anubis

bibo mao:
      x86_64: Enlarge debug stack for nested kprobes

Bob Breuer:
      [SPARC]: Fix property name acquisition in prom.c
      [SPARC]: Defer clock_probe to fs_initcall()

Brice Goglin:
      myri10ge - Always do a dummy RDMA after loading the firmware

Catalin Marinas:
      [ARM] 3734/1: Fix the unused variable warning in __iounmap()

Christoph Hellwig:
      [SCSI] aha152x: stop poking at saved scsi_cmnd members
      [SCSI] hide EH backup data outside the scsi_cmnd
      [SCSI] More buffer->request_buffer changes
      [NET]: Remove CONFIG_HAVE_ARCH_DEV_ALLOC_SKB
      [NET]: Correct dev_alloc_skb kerneldoc
      fix compile regression for a few scsi drivers
      [XFS] All xfs_disk_dquot_t values are (as the name says) disk endian.

Chuck Ebbert:
      ieee80211: TKIP requires CRC32
      i386: switch_to(): misplaced parentheses

Cornelia Huck:
      [S390] channel measurement interval display.
      [S390] duplicate ccw devices in ccwgroup.

Dan Williams:
      orinoco: fix setting transmit key only

Daniel Drake:
      softmac: do shared key auth in workqueue

Dave C Boutcher:
      [SCSI] ibmvscsi: allocate lpevents for ibmvscsi on iseries
      [SCSI] ibmvscsi: handle inactive SCSI target during probe

David S. Miller:
      [SPARC64]: Fix more of_device layer IRQ bugs, and correct PROMREG_MAX.
      [SPARC]: Kill prom_getname, unused and not implemented properly.
      [SERIAL] sunsab: Get line numbers and table sizing correct.
      [SPARC] sbus: Make sure sbus nodes are named uniquely.
      [SERIAL] sunzilog: Register IRQ after all devices have been probed.
      [SPARC]: Fix initialization of sun4d SBUS interrupts.
      [SPARC]: Simplify and correct __cpu_find_by()
      [SERIAL] sunzilog: Remove duplicate IRQ registry in zs_probe().
      [SERIAL] sunzilog: Fix instance enumeration.
      [SPARC]: Fix length parameter verification in sys_getdomainname().
      [SPARC64]: Update defconfig.
      [MAINTAINERS]: Mark LAPB as Oprhan.
      [IPV6] xfrm6_tunnel: Delete debugging code.
      [SPARC64]: Explicitly print return PC when the kernel fault PC is bogus.
      [SPARC]: Fix SA_STATIC_ALLOC value.
      [SCSI] esp: Fix build.
      [SPARC64]: Fix quad-float multiply emulation.
      [SPARC64]: Fix typo in pgprot_noncached().

Dotan Barak:
      IB/mthca: Fix SRQ limit event range check

Douglas Gilbert:
      [SCSI] update additional sense codes and some opcode names

Eric Moore:
      [SCSI] mptsas: use unnumbered port API and remove driver porttracking
      [SCSI] mptfusion: sas enclosures with smart drive
      [SCSI] mptfusion: mptctl panic when loading
      [SCSI] mptfusion: sas loginfo update
      [SCSI] mptfusion: sas nexus loss support
      [SCSI] mptfusion: task abort fix's
      [SCSI] mptfusion: firmware download boot fix's
      [SCSI] mptfusion: misc fix's
      [SCSI] mptfusion: bump version to 3.04.01

George G. Davis:
      [ARM] 3737/1: Export ARM copy/clear_user_page symbols

Guillaume Chazarain:
      [PKT_SCHED] netem: Fix slab corruption with netem (2nd try)
      [PKT_SCHED]: Fix regression in PSCHED_TADD{,2}.
      [IPV6]: Clean skb cb on IPv6 input.
      [IPV4]: Clear the whole IPCB, this clears also IPCB(skb)->flags.

Heiko Carstens:
      [S390] Fix gcc warning about unused return values.
      [S390] xpram module parameter parsing - take 2.
      [S390] .align 4096 statements in head.S
      [S390] sysfs_create_xxx return values.

Henrik Kretzschmar:
      [I/OAT]: Remove pci_module_init() from Intel I/OAT DMA engine

Herbert Xu:
      [IPV4]: Get rid of redundant IPCB->opts initialisation
      [NET]: Fix reversed error test in netif_tx_trylock

Ian McDonald:
      [DCCP]: Fix default sequence window size

Ingo Molnar:
      pi-futex: robust-futex exit crash fix
      pi-futex: robust-futex exit

James Bottomley:
      [SCSI] scsi_transport_sas: add unindexed ports
      [SCSI] scsi_transport_sas: add expander backlink
      [SCSI] scsi_transport_sas: kill the use of channel
      [SCSI] NCR_D700: misc fixes (section and argument ordering)

James Smart:
      [SCSI] lpfc 8.1.7: Use mod_timer instead of add_timer in lpfc_els_timeout_handler
      [SCSI] lpfc 8.1.7: Standardize the driver on a single define for the maximum supported targets
      [SCSI] lpfc 8.1.7: Fix memory leak and cleanup code related to per ring lookup array
      [SCSI] lpfc 8.1.7: Fixed infinite retry of REG_LOGIN mailbox failed due to MBXERR_RPI_FULL
      [SCSI] lpfc 8.1.7: Issue DOWN_LINK prior to INIT_LINK to work around link failure issue
      [SCSI] lpfc 8.1.7: Fix txcmplq related panics on heavy IO while downloading firmware
      [SCSI] lpfc 8.1.7: Correct bogus nodev_tmo message on NPort that changes its NPort Id
      [SCSI] lpfc 8.1.7: Consolidate dma buf cleanup into a separate function
      [SCSI] lpfc 8.1.7: Fix panic in lpfc_sli_validate_fcp_iocb
      [SCSI] lpfc 8.1.7: Adding new issue_reset sysfs attribute
      [SCSI] lpfc 8.1.7: Remove depricated sysfs attribute board_online
      [SCSI] lpfc 8.1.7: Correct the wait in attachment that delays for topology discovery
      [SCSI] lpfc 8.1.7: Add lpfc_sli_flush_mbox_queue() function
      [SCSI] lpfc 8.1.7: Misc Fixes
      [SCSI] lpfc 8.1.7: Change version number to 8.1.7

Jay Cliburn:
      via-velocity: fix speed and link status reported by ethtool

Jeff Garzik:
      [libata] ata_piix: Consolidate PCS register writing
      [libata] ata_piix: attempt to fix ICH8 support
      [libata] ata_piix: minor cleanups noticed in prior patch run
      [libata] ata_piix: correct 'invalid MAP value' typo-caused error
      [NET] ethtool: fix oops by testing correct struct member
      [libata] sata_promise: comment out duplicate PCI ID

Jens Axboe:
      cciss: fix stall with softirq handling and CFQ
      cfq-iosched: don't use a hard jiffies value, translate from msecs
      ide: option to disable cache flushes for buggy drives
      ide: if the id fields looks screwy, disable DMA
      it821x: fix ide dma setup bug
      scsi: kill overeager "not-ready" messages

Jens Osterkamp:
      spidernet: bug fix for init code
      spidernet: rework tx queue handling

Jiri Slaby:
      [NET]: sun happymeal, little pci cleanup

Jon Mason:
      x86_64: Calgary IOMMU - Multi-Node NULL pointer dereference fix

Krzysztof Halasa:
      [WAN]: Added missing netif_dormant_off() to generic HDLC
      [WAN]: Cosmetic changes to N2 and C101 drivers
      [WAN]: Converted synclink drivers to use netif_carrier_*()

Lennert Buytenhek:
      [ARM] 3730/1: ep93xx: enable usb ohci driver in the defconfig
      [ARM] 3736/1: xscale: don't mis-report 80219 as an iop32x

Linus Torvalds:
      [cpufreq] ondemand: make shutdown sequence more robust
      cpu hotplug: simplify and hopefully fix locking
      Linux v2.6.18-rc3

Luben Tuikov:
      [SCSI] st.c: Improve sense output

Marc Zyngier:
      [SPARC64] Fix sunsab ports ordering

Marcel Holtmann:
      [Bluetooth] Correct RFCOMM channel MTU for broken implementations
      [Bluetooth] Correct SCO buffer size for another Broadcom chip
      [Bluetooth] Correct SCO buffer size for Belkin devices
      [Bluetooth] Add quirk for another broken RTX Telecom based dongle
      [Bluetooth] Enable SCO support for Broadcom HID proxy dongle

Martin Michlmayr:
      [ARM] 3731/1: Allow IRQ definitions of IQ80331 and IQ80332 to co-exist

Martin Schwidefsky:
      [S390] update default configuration

Matthew Wilcox:
      [SCSI] aic7[9x]xx: Remove last vestiges of reverse_scan

Michael Chan:
      [TG3]: Add tg3_restart_hw()
      [TG3]: Handle tg3_init_rings() failures
      [TG3]: Update version and reldate

Michael S. Tsirkin:
      IB/uverbs: Fix unlocking in error paths
      IB/ipoib: Fix packet loss after hardware address update

Milton Miller:
      blktrace: fix read-ahead bit

Muli Ben-Yehuda:
      x86_64: Calgary IOMMU - fix off by one error

Nathan Scott:
      [XFS] Fix remount vs no/barrier options by ensuring we clear unwanted
      [XFS] Fix a barrier related forced shutdown on mounts with quota enabled.
      [XFS] Ensure bulkstat from an invalid inode number gets caught always with

Nicolas Dichtel:
      [IFB] After ifb_init_one() failed, i is increased. Decrease
      [DUMMY]: Avoid an oops when dummy_init_one() failed

Or Gerlitz:
      IB/ipoib: Fix oops with ipoib_debug_mcast set

Panagiotis Issaris:
      [NET]: Conversions from kmalloc+memset to k(z|c)alloc.
      [TIPC]: Removing useless casts

Patrick McHardy:
      [IPV4]: Fix nexthop realm dumping for multipath routes
      [NETFILTER]: H.323 helper: fix possible NULL-ptr dereference
      [NETFILTER]: nf_queue: handle NF_STOP and unknown verdicts in nf_reinject
      [NETFILTER]: SNMP NAT: fix byteorder confusion
      [NETFILTER]: bridge netfilter: add deferred output hooks to feature-removal-schedule
      [NETFILTER]: Demote xt_sctp to EXPERIMENTAL

Paul Jackson:
      Cpuset: fix ABBA deadlock with cpu hotplug lock

Pavel Machek:
      zd1201: workaround interference problem

Peter Oberparleiter:
      [S390] permanent subchannel busy conditions may cause I/O stall

Phil Oester:
      [NETFILTER]: xt_pkttype: fix mismatches on locally generated packets

Ralph Campbell:
      IB/ipath: Fix a data corruption
      IB/ipath: Fix ib_ipath driver to work with SRP
      IB/ipath: ipath_skip_sge() can break if num_sge > 1

Randy Dunlap:
      [SCSI] scsi_debug: must_check fixes

Raymond Burns:
      [SPARC]: Initialize iounit spinlock in iounit_init().
      [SPARC]: Do not call sun4m_irq_rotate on sun4d.
      [SPARC]: Get sun4d SMP building again.

Robert Schulze:
      airo: should select crypto_aes

Roland Dreier:
      IB/uverbs: Fix lockdep warnings
      IB/mthca: Initialize max_cmds before debug code prints it

Russell King:
      [ARM] Fix cats build
      [ARM] Fix SMP booting

Samuel Ortiz:
      [IrDA]: Use alloc_skb() in IrDA TX path

Sean Hefty:
      IB/mad: Validate MADs for spec compliance

Sridhar Samudrala:
      [SCTP]: Check for NULL arg to sctp_bucket_destroy().
      [SCTP]: Verify all the paths to a peer via heartbeat before using them.
      [SCTP]: Set chunk->data_accepted only if we are going to accept it.
      [SCTP]: ADDIP: Don't use an address as source until it is ASCONF-ACKed

Stefan Rompf:
      [VLAN]: Fix link state propagation

Stephen Hemminger:
      sky2: NAPI poll fix
      skge: chip clock rate typo

Tejun Heo:
      ata_piix: add host_set private structure
      libata: fix autopsy ehc->i.action and ehc->i.dev handling
      libata: fix eh_skip_recovery condition
      libata: improve EH action and EHI flag handling

Tetsuo Handa:
      [IPV4/IPV6]: Setting 0 for unused port field in RAW IP recvmsg().

Vlad Yasevich:
      [SCTP]: Unhash the endpoint in sctp_endpoint_free().


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

* Re: Linux v2.6.18-rc3
  2006-07-30  6:27 Linux v2.6.18-rc3 Linus Torvalds
@ 2006-07-30  8:30 ` Russell King
  2006-07-31  8:02   ` Junio C Hamano
  2006-07-31  4:13 ` Jesse Brandeburg
  2006-08-03 15:58 ` Linux v2.6.18-rc3 Avuton Olrich
  2 siblings, 1 reply; 27+ messages in thread
From: Russell King @ 2006-07-30  8:30 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Linux Kernel Mailing List

There's something weird in this release - object
0021aad5db43ccc0d0356f2f5e4e28446c8b983a appears to change size (or it
does for me.)

Searching 'linux-2.6/.git/' and 'linux-2.6-mmc/.git/' for common objects and hardlinking them...
ERROR: File sizes are not the same, cannot relink linux-2.6/.git/objects/00/21aad5db43ccc0d0356f2f5e4e28446c8b983a to linux-2.6-mmc/.git/objects/00/21aad5db43ccc0d0356f2f5e4e28446c8b983a.
rmk@dyn-67:[git]:<1022> vdir linux-*/.git/objects/00/21aad5db43ccc0d0356f2f5e4e28446c8b983a
-r--r--r-- 1 rmk rmk 6891 Jul 25 19:57 linux-2.6/.git/objects/00/21aad5db43ccc0d0356f2f5e4e28446c8b983a
-r--r--r-- 1 rmk rmk 6862 Jul 25 20:29 linux-2.6-mmc/.git/objects/00/21aad5db43ccc0d0356f2f5e4e28446c8b983a
-r--r--r-- 1 rmk rmk 6862 Jul 25 20:30 linux-2.6-rmk/.git/objects/00/21aad5db43ccc0d0356f2f5e4e28446c8b983a
-r--r--r-- 1 rmk rmk 6862 Jul 25 20:30 linux-2.6-serial/.git/objects/00/21aad5db43ccc0d0356f2f5e4e28446c8b983a
rmk@dyn-67:[git]:<1025> md5sum linux-*/.git/objects/00/21aad5db43ccc0d0356f2f5e4e28446c8b983a
5607142215895de1d71abbff28e3d096  linux-2.6/.git/objects/00/21aad5db43ccc0d0356f2f5e4e28446c8b983a
3af2b33663ce5c53a336bd31d4b469e0  linux-2.6-mmc/.git/objects/00/21aad5db43ccc0d0356f2f5e4e28446c8b983a
3af2b33663ce5c53a336bd31d4b469e0  linux-2.6-rmk/.git/objects/00/21aad5db43ccc0d0356f2f5e4e28446c8b983a
3af2b33663ce5c53a336bd31d4b469e0  linux-2.6-serial/.git/objects/00/21aad5db43ccc0d0356f2f5e4e28446c8b983a

The first tree (linux-2.6) was fetched using rsync from a tree which also
had been obtained via rsync:

src@flint:[linux-2.6]:<1015> vdir .git/objects/00/21aad5db43ccc0d0356f2f5e4e28446c8b983a
-r--r--r--  1 src src 6891 Jul 25 19:57 .git/objects/00/21aad5db43ccc0d0356f2f5e4e28446c8b983a
src@flint:[linux-2.6]:<1016> md5sum .git/objects/00/21aad5db43ccc0d0356f2f5e4e28446c8b983a
5607142215895de1d71abbff28e3d096  .git/objects/00/21aad5db43ccc0d0356f2f5e4e28446c8b983a

And on hera:

[rmk@hera torvalds]$ vdir linux-2.6.git/objects/00/21aad5db43ccc0d0356f2f5e4e28446c8b983a
-r--r--r--  1 torvalds torvalds 6891 Jul 22 00:45 linux-2.6.git/objects/00/21aad5db43ccc0d0356f2f5e4e28446c8b983a
[rmk@hera torvalds]$ md5sum linux-2.6.git/objects/00/21aad5db43ccc0d0356f2f5e4e28446c8b983a
5607142215895de1d71abbff28e3d096  linux-2.6.git/objects/00/21aad5db43ccc0d0356f2f5e4e28446c8b983a

So the act of git fetch-ing from dyn-67's linux-2.6 tree to linux-2.6-*
appears to have changed this git object.

git-1.4.0, Fedora Core 5.

The actual contents of the object (git-cat-file blob
0021aad5db43ccc0d0356f2f5e4e28446c8b983a) appears to be identical
however.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 Serial core

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

* Re: Linux v2.6.18-rc3
  2006-07-30  6:27 Linux v2.6.18-rc3 Linus Torvalds
  2006-07-30  8:30 ` Russell King
@ 2006-07-31  4:13 ` Jesse Brandeburg
  2006-07-31  4:27   ` Andrew Morton
  2006-08-03 15:58 ` Linux v2.6.18-rc3 Avuton Olrich
  2 siblings, 1 reply; 27+ messages in thread
From: Jesse Brandeburg @ 2006-07-31  4:13 UTC (permalink / raw)
  To: Linux Kernel Mailing List; +Cc: Linus Torvalds

[-- Attachment #1: Type: text/plain, Size: 1425 bytes --]

On 7/29/06, Linus Torvalds <torvalds@osdl.org> wrote:
>
> Ok, this missed a week (it should really have been -rc4, and we should
> have had a -rc3 a week ago), but the fact is, with a lot of people at the
> kernel summit and at OLS, it was so quiet for a week that there simply was
> no point.

not sure if this is a regression or not, get this on my IBM thinkpad
T43 when resuming from S3 or from hibernate to disk.

acpi acpi: suspend
PM: Entering mem sleep
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
Back to C!
BUG: sleeping function called from invalid context at kernel/rwsem.c:20
in_atomic():0, irqs_disabled():1
 [<c012d638>] down_read+0x12/0x1f
 [<c012605b>] blocking_notifier_call_chain+0xe/0x29
 [<c029199a>] cpufreq_resume+0x118/0x13f
 [<c0231b68>] __sysdev_resume+0x20/0x53
 [<c0231ca9>] sysdev_resume+0x16/0x47
 [<c0235f93>] device_power_up+0x5/0xa
 [<c013358d>] suspend_enter+0x3b/0x44
 [<c011b644>] printk+0x1b/0x1f
 [<c01336fe>] enter_state+0x168/0x198
 [<c01337b3>] state_store+0x85/0x99
 [<c013372e>] state_store+0x0/0x99
 [<c019047a>] subsys_attr_store+0x1e/0x22
 [<c01906ca>] sysfs_write_file+0xa6/0xcc
 [<c0190624>] sysfs_write_file+0x0/0xcc
 [<c015ae52>] vfs_write+0xa8/0x159
 [<c015b398>] sys_write+0x41/0x67
 [<c0102bc9>] sysenter_past_esp+0x56/0x79
PM: Finishing wakeup.
acpi acpi: resuming

full dmesg and .config attached, I can test patches.
Jesse

[-- Attachment #2: config.txt.gz --]
[-- Type: application/x-gzip, Size: 18145 bytes --]

[-- Attachment #3: dmesg.txt.gz --]
[-- Type: application/x-gzip, Size: 10183 bytes --]

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

* Re: Linux v2.6.18-rc3
  2006-07-31  4:13 ` Jesse Brandeburg
@ 2006-07-31  4:27   ` Andrew Morton
  2006-07-31 14:54     ` Alan Stern
  0 siblings, 1 reply; 27+ messages in thread
From: Andrew Morton @ 2006-07-31  4:27 UTC (permalink / raw)
  To: Jesse Brandeburg; +Cc: linux-kernel, torvalds, Alan Stern, cpufreq

On Sun, 30 Jul 2006 21:13:48 -0700
"Jesse Brandeburg" <jesse.brandeburg@gmail.com> wrote:

> On 7/29/06, Linus Torvalds <torvalds@osdl.org> wrote:
> >
> > Ok, this missed a week (it should really have been -rc4, and we should
> > have had a -rc3 a week ago), but the fact is, with a lot of people at the
> > kernel summit and at OLS, it was so quiet for a week that there simply was
> > no point.
> 
> not sure if this is a regression or not, get this on my IBM thinkpad
> T43 when resuming from S3 or from hibernate to disk.
> 
> acpi acpi: suspend
> PM: Entering mem sleep
> Intel machine check architecture supported.
> Intel machine check reporting enabled on CPU#0.
> Back to C!
> BUG: sleeping function called from invalid context at kernel/rwsem.c:20
> in_atomic():0, irqs_disabled():1
>  [<c012d638>] down_read+0x12/0x1f
>  [<c012605b>] blocking_notifier_call_chain+0xe/0x29
>  [<c029199a>] cpufreq_resume+0x118/0x13f
>  [<c0231b68>] __sysdev_resume+0x20/0x53
>  [<c0231ca9>] sysdev_resume+0x16/0x47
>  [<c0235f93>] device_power_up+0x5/0xa
>  [<c013358d>] suspend_enter+0x3b/0x44
>  [<c011b644>] printk+0x1b/0x1f
>  [<c01336fe>] enter_state+0x168/0x198
>  [<c01337b3>] state_store+0x85/0x99
>  [<c013372e>] state_store+0x0/0x99
>  [<c019047a>] subsys_attr_store+0x1e/0x22
>  [<c01906ca>] sysfs_write_file+0xa6/0xcc
>  [<c0190624>] sysfs_write_file+0x0/0xcc
>  [<c015ae52>] vfs_write+0xa8/0x159
>  [<c015b398>] sys_write+0x41/0x67
>  [<c0102bc9>] sysenter_past_esp+0x56/0x79
> PM: Finishing wakeup.
> acpi acpi: resuming
> 
> full dmesg and .config attached, I can test patches.

I think this is the cpufreq problem wherein it sometimes requires that the
notifier chain be traversed from atomic context and at other times it
requires that sleeping functions be callable from within the traversal. 
IOW: we're screwed whatever type of locking we use on that chain.

I think Alan is cooking up a scheme wherein we fix this with an srcu-locked
notifier chain.  If so, it'd be nice to get that moving along a bit?

If not, I'm not sure what the fix is - perhaps create a second notifier
chain which has the same contents but uses a different locking approach?

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

* Re: Linux v2.6.18-rc3
  2006-07-30  8:30 ` Russell King
@ 2006-07-31  8:02   ` Junio C Hamano
  0 siblings, 0 replies; 27+ messages in thread
From: Junio C Hamano @ 2006-07-31  8:02 UTC (permalink / raw)
  To: Russell King; +Cc: Linux Kernel Mailing List, Linus Torvalds

Russell King <rmk+lkml@arm.linux.org.uk> writes:

> There's something weird in this release - object
> 0021aad5db43ccc0d0356f2f5e4e28446c8b983a appears to change size (or it
> does for me.)

This is a manifestation of a recent harmless change which allows
you to change the compression level for loose objects, which
happened on July 3rd (v1.4.1-g12f6c30).  The blob is compressed
to 6891 bytes with zlib compression level of 6 (new default)
while older git used compression level of 9 (old default,
without a possibility for users to futz with it) which produces
6862 bytes.

Linus is apparently using newer git that uses the new default,
while -mmc, -rmk, and -serial trees are managed with git older
than the said version.

    commit 12f6c308d53509dcb11e309604457d21d60438db
    Author: Joachim B Haga <cjhaga@fys.uio.no>
    Date:   Mon Jul 3 22:11:47 2006 +0200

        Make zlib compression level configurable, and change default.

        With the change in default, "git add ." on kernel dir is about
        twice as fast as before, with only minimal (0.5%) change in
        object size. The speed difference is even more noticeable
        when committing large files, which is now up to 8 times faster.

        The configurability is through setting core.compression = [-1..9]
        which maps to the zlib constants; -1 is the default, 0 is no
        compression, and 1..9 are various speed/size tradeoffs, 9
        being slowest.

        Signed-off-by: Joachim B Haga (cjhaga@fys.uio.no)
        Acked-by: Linus Torvalds <torvalds@osdl.org>
        Signed-off-by: Junio C Hamano <junkio@cox.net>

As you have found out, the objects compressed differently are
fully backward compatible and there is nothing to worry about.


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

* Re: Linux v2.6.18-rc3
  2006-07-31  4:27   ` Andrew Morton
@ 2006-07-31 14:54     ` Alan Stern
  2006-07-31 15:11       ` Andrew Morton
  0 siblings, 1 reply; 27+ messages in thread
From: Alan Stern @ 2006-07-31 14:54 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Jesse Brandeburg, linux-kernel, torvalds, cpufreq

On Sun, 30 Jul 2006, Andrew Morton wrote:

> On Sun, 30 Jul 2006 21:13:48 -0700
> "Jesse Brandeburg" <jesse.brandeburg@gmail.com> wrote:
> 
> > On 7/29/06, Linus Torvalds <torvalds@osdl.org> wrote:
> > >
> > > Ok, this missed a week (it should really have been -rc4, and we should
> > > have had a -rc3 a week ago), but the fact is, with a lot of people at the
> > > kernel summit and at OLS, it was so quiet for a week that there simply was
> > > no point.
> > 
> > not sure if this is a regression or not, get this on my IBM thinkpad
> > T43 when resuming from S3 or from hibernate to disk.
> > 
> > acpi acpi: suspend
> > PM: Entering mem sleep
> > Intel machine check architecture supported.
> > Intel machine check reporting enabled on CPU#0.
> > Back to C!
> > BUG: sleeping function called from invalid context at kernel/rwsem.c:20
> > in_atomic():0, irqs_disabled():1
> >  [<c012d638>] down_read+0x12/0x1f
> >  [<c012605b>] blocking_notifier_call_chain+0xe/0x29
> >  [<c029199a>] cpufreq_resume+0x118/0x13f
> >  [<c0231b68>] __sysdev_resume+0x20/0x53
> >  [<c0231ca9>] sysdev_resume+0x16/0x47
> >  [<c0235f93>] device_power_up+0x5/0xa
> >  [<c013358d>] suspend_enter+0x3b/0x44
> >  [<c011b644>] printk+0x1b/0x1f
> >  [<c01336fe>] enter_state+0x168/0x198
> >  [<c01337b3>] state_store+0x85/0x99
> >  [<c013372e>] state_store+0x0/0x99
> >  [<c019047a>] subsys_attr_store+0x1e/0x22
> >  [<c01906ca>] sysfs_write_file+0xa6/0xcc
> >  [<c0190624>] sysfs_write_file+0x0/0xcc
> >  [<c015ae52>] vfs_write+0xa8/0x159
> >  [<c015b398>] sys_write+0x41/0x67
> >  [<c0102bc9>] sysenter_past_esp+0x56/0x79
> > PM: Finishing wakeup.
> > acpi acpi: resuming
> > 
> > full dmesg and .config attached, I can test patches.
> 
> I think this is the cpufreq problem wherein it sometimes requires that the
> notifier chain be traversed from atomic context and at other times it
> requires that sleeping functions be callable from within the traversal. 
> IOW: we're screwed whatever type of locking we use on that chain.

I have looked at that problem more closely, and my earlier understanding
wasn't quite right.  It's not that the context needs to be atomic at some
times but not others -- it should always be a process context.  The
problem is that the suspend and resume traversals are done at a time when
interrupts need to remain disabled, since cpufreq registers its drivers as
sysdevs.  (Kind of like SYSTEM_BOOTING, except that system_state isn't set
to anything special.)  Because the down_read() call that protects the
notifier chain isn't allowed when interrupts are disabled, the BUG occurs.

> I think Alan is cooking up a scheme wherein we fix this with an srcu-locked
> notifier chain.  If so, it'd be nice to get that moving along a bit?

Yes; protecting the notifier chain by SRCU instead of an rwsem will 
prevent the problem.  It's a trivial change, except for one thing: SRCU 
structures require initialization at runtime before they can be used.  
This initialization must be done before any driver tries to register on 
the cpufreq transition notifier chain.

If someone could give me a hint where a good place would be to carry out
the initialization, I'd appreciate it.  Would an initcall be appropriate?  
And if so, which sort of initcall?  core_initcall?  The only requirement 
is that alloc_percpu() must be available.

Alan Stern


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

* Re: Linux v2.6.18-rc3
  2006-07-31 14:54     ` Alan Stern
@ 2006-07-31 15:11       ` Andrew Morton
  2006-07-31 15:59         ` Alan Stern
  2006-07-31 20:34         ` Alan Stern
  0 siblings, 2 replies; 27+ messages in thread
From: Andrew Morton @ 2006-07-31 15:11 UTC (permalink / raw)
  To: Alan Stern; +Cc: jesse.brandeburg, linux-kernel, torvalds, cpufreq

On Mon, 31 Jul 2006 10:54:55 -0400 (EDT)
Alan Stern <stern@rowland.harvard.edu> wrote:

> On Sun, 30 Jul 2006, Andrew Morton wrote:
> 
> > On Sun, 30 Jul 2006 21:13:48 -0700
> > "Jesse Brandeburg" <jesse.brandeburg@gmail.com> wrote:
> > 
> > > On 7/29/06, Linus Torvalds <torvalds@osdl.org> wrote:
> > > >
> > > > Ok, this missed a week (it should really have been -rc4, and we should
> > > > have had a -rc3 a week ago), but the fact is, with a lot of people at the
> > > > kernel summit and at OLS, it was so quiet for a week that there simply was
> > > > no point.
> > > 
> > > not sure if this is a regression or not, get this on my IBM thinkpad
> > > T43 when resuming from S3 or from hibernate to disk.
> > > 
> > > acpi acpi: suspend
> > > PM: Entering mem sleep
> > > Intel machine check architecture supported.
> > > Intel machine check reporting enabled on CPU#0.
> > > Back to C!
> > > BUG: sleeping function called from invalid context at kernel/rwsem.c:20
> > > in_atomic():0, irqs_disabled():1
> > >  [<c012d638>] down_read+0x12/0x1f
> > >  [<c012605b>] blocking_notifier_call_chain+0xe/0x29
> > >  [<c029199a>] cpufreq_resume+0x118/0x13f
> > >  [<c0231b68>] __sysdev_resume+0x20/0x53
> > >  [<c0231ca9>] sysdev_resume+0x16/0x47
> > >  [<c0235f93>] device_power_up+0x5/0xa
> > >  [<c013358d>] suspend_enter+0x3b/0x44
> > >  [<c011b644>] printk+0x1b/0x1f
> > >  [<c01336fe>] enter_state+0x168/0x198
> > >  [<c01337b3>] state_store+0x85/0x99
> > >  [<c013372e>] state_store+0x0/0x99
> > >  [<c019047a>] subsys_attr_store+0x1e/0x22
> > >  [<c01906ca>] sysfs_write_file+0xa6/0xcc
> > >  [<c0190624>] sysfs_write_file+0x0/0xcc
> > >  [<c015ae52>] vfs_write+0xa8/0x159
> > >  [<c015b398>] sys_write+0x41/0x67
> > >  [<c0102bc9>] sysenter_past_esp+0x56/0x79
> > > PM: Finishing wakeup.
> > > acpi acpi: resuming
> > > 
> > > full dmesg and .config attached, I can test patches.
> > 
> > I think this is the cpufreq problem wherein it sometimes requires that the
> > notifier chain be traversed from atomic context and at other times it
> > requires that sleeping functions be callable from within the traversal. 
> > IOW: we're screwed whatever type of locking we use on that chain.
> 
> I have looked at that problem more closely, and my earlier understanding
> wasn't quite right.  It's not that the context needs to be atomic at some
> times but not others -- it should always be a process context.  The
> problem is that the suspend and resume traversals are done at a time when
> interrupts need to remain disabled, since cpufreq registers its drivers as
> sysdevs.  (Kind of like SYSTEM_BOOTING, except that system_state isn't set
> to anything special.)  Because the down_read() call that protects the
> notifier chain isn't allowed when interrupts are disabled, the BUG occurs.

So why wouldn't an atomic notifier be suitable?

> > I think Alan is cooking up a scheme wherein we fix this with an srcu-locked
> > notifier chain.  If so, it'd be nice to get that moving along a bit?
> 
> Yes; protecting the notifier chain by SRCU instead of an rwsem will 
> prevent the problem.  It's a trivial change, except for one thing: SRCU 
> structures require initialization at runtime before they can be used.  
> This initialization must be done before any driver tries to register on 
> the cpufreq transition notifier chain.
> 
> If someone could give me a hint where a good place would be to carry out
> the initialization, I'd appreciate it.  Would an initcall be appropriate?  
> And if so, which sort of initcall?  core_initcall?  The only requirement 
> is that alloc_percpu() must be available.
> 

core_initcall() would suit.  That's actually a bit late for this sort of
thing, but we can always add a new section later if it becomes a problem. 
I'd suggest that we ensure that srcu_notifier_chain_register() performs a
reliable BUG() if it gets called too early.



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

* Re: Linux v2.6.18-rc3
  2006-07-31 15:11       ` Andrew Morton
@ 2006-07-31 15:59         ` Alan Stern
  2006-07-31 20:34         ` Alan Stern
  1 sibling, 0 replies; 27+ messages in thread
From: Alan Stern @ 2006-07-31 15:59 UTC (permalink / raw)
  To: Andrew Morton; +Cc: jesse.brandeburg, linux-kernel, torvalds, cpufreq

On Mon, 31 Jul 2006, Andrew Morton wrote:

> > > I think this is the cpufreq problem wherein it sometimes requires that the
> > > notifier chain be traversed from atomic context and at other times it
> > > requires that sleeping functions be callable from within the traversal. 
> > > IOW: we're screwed whatever type of locking we use on that chain.
> > 
> > I have looked at that problem more closely, and my earlier understanding
> > wasn't quite right.  It's not that the context needs to be atomic at some
> > times but not others -- it should always be a process context.  The
> > problem is that the suspend and resume traversals are done at a time when
> > interrupts need to remain disabled, since cpufreq registers its drivers as
> > sysdevs.  (Kind of like SYSTEM_BOOTING, except that system_state isn't set
> > to anything special.)  Because the down_read() call that protects the
> > notifier chain isn't allowed when interrupts are disabled, the BUG occurs.
> 
> So why wouldn't an atomic notifier be suitable?

I can't be entirely certain.  It looks like most of the callout routines
would work fine in an atomic context, but there are a couple of 
exceptions:

drivers/pcmcia/soc_common.c:soc_pcmcia_notifier() does a down().  Perhaps
this should be made conditional on the notifier message not being
CPUFREQ_SUSPENDCHANGE or CPUFREQ_RESUMECHANGE.  Similarly,
arch/i386/kernel/tsc.c:time_cpufreq_notifier() calls
write_sequnlock_irq().

(Not to mention the fact that drivers/serial/sh-sci.c:sci_init() registers 
a cpufreq notifier but sci_exit() neglects to unregister it.)

In general, the callout routines don't seem to treat the PRECHANGE and
POSTCHANGE messages differently from the SUSPENDCHANGE and RESUMECHANGE
messages.  So I'm reluctant to split the two sorts of messages up into two
separate chains.

> > If someone could give me a hint where a good place would be to carry out
> > the initialization, I'd appreciate it.  Would an initcall be appropriate?  
> > And if so, which sort of initcall?  core_initcall?  The only requirement 
> > is that alloc_percpu() must be available.
> > 
> 
> core_initcall() would suit.  That's actually a bit late for this sort of
> thing, but we can always add a new section later if it becomes a problem. 
> I'd suggest that we ensure that srcu_notifier_chain_register() performs a
> reliable BUG() if it gets called too early.

Okay, let me work on a patch.

Alan Stern


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

* Re: Linux v2.6.18-rc3
  2006-07-31 15:11       ` Andrew Morton
  2006-07-31 15:59         ` Alan Stern
@ 2006-07-31 20:34         ` Alan Stern
  2006-08-02  4:31           ` Jesse Brandeburg
  1 sibling, 1 reply; 27+ messages in thread
From: Alan Stern @ 2006-07-31 20:34 UTC (permalink / raw)
  To: jesse.brandeburg, Andrew Morton
  Cc: Kernel development list, torvalds, cpufreq

On Mon, 31 Jul 2006, Andrew Morton wrote:

> core_initcall() would suit.  That's actually a bit late for this sort of
> thing, but we can always add a new section later if it becomes a problem. 
> I'd suggest that we ensure that srcu_notifier_chain_register() performs a
> reliable BUG() if it gets called too early.

Here's a patch to test.  I can't try it out on my machine because 
2.6.18-rc2-mm1 (even without the patch) crashes partway through a 
suspend-to-disk, in a way that's extremely hard to debug.  Some sort of 
spinlock-related bug occurs within ioapic_write_entry.

Alan Stern


Index: 2.6.18-rc2-mm1/kernel/sys.c
===================================================================
--- 2.6.18-rc2-mm1.orig/kernel/sys.c
+++ 2.6.18-rc2-mm1/kernel/sys.c
@@ -516,7 +516,7 @@ EXPORT_SYMBOL_GPL(srcu_notifier_call_cha
 void srcu_init_notifier_head(struct srcu_notifier_head *nh)
 {
 	mutex_init(&nh->mutex);
-	init_srcu_struct(&nh->srcu);
+	BUG_ON(init_srcu_struct(&nh->srcu) < 0);
 	nh->head = NULL;
 }
 
Index: 2.6.18-rc2-mm1/kernel/srcu.c
===================================================================
--- 2.6.18-rc2-mm1.orig/kernel/srcu.c
+++ 2.6.18-rc2-mm1/kernel/srcu.c
@@ -42,11 +42,12 @@
  * to any other function.  Each srcu_struct represents a separate domain
  * of SRCU protection.
  */
-void init_srcu_struct(struct srcu_struct *sp)
+int init_srcu_struct(struct srcu_struct *sp)
 {
 	sp->completed = 0;
-	sp->per_cpu_ref = alloc_percpu(struct srcu_struct_array);
 	mutex_init(&sp->mutex);
+	sp->per_cpu_ref = alloc_percpu(struct srcu_struct_array);
+	return (sp->per_cpu_ref ? 0 : -ENOMEM);
 }
 
 /*
Index: 2.6.18-rc2-mm1/include/linux/srcu.h
===================================================================
--- 2.6.18-rc2-mm1.orig/include/linux/srcu.h
+++ 2.6.18-rc2-mm1/include/linux/srcu.h
@@ -43,7 +43,7 @@ struct srcu_struct {
 #define srcu_barrier()
 #endif /* #else #ifndef CONFIG_PREEMPT */
 
-void init_srcu_struct(struct srcu_struct *sp);
+int init_srcu_struct(struct srcu_struct *sp);
 void cleanup_srcu_struct(struct srcu_struct *sp);
 int srcu_read_lock(struct srcu_struct *sp);
 void srcu_read_unlock(struct srcu_struct *sp, int idx);
Index: 2.6.18-rc2-mm1/drivers/cpufreq/cpufreq.c
===================================================================
--- 2.6.18-rc2-mm1.orig/drivers/cpufreq/cpufreq.c
+++ 2.6.18-rc2-mm1/drivers/cpufreq/cpufreq.c
@@ -52,8 +52,14 @@ static void handle_update(void *data);
  * The mutex locks both lists.
  */
 static BLOCKING_NOTIFIER_HEAD(cpufreq_policy_notifier_list);
-static BLOCKING_NOTIFIER_HEAD(cpufreq_transition_notifier_list);
+static struct srcu_notifier_head cpufreq_transition_notifier_list;
 
+static int __init init_cpufreq_transition_notifier_list(void)
+{
+	srcu_init_notifier_head(&cpufreq_transition_notifier_list);
+	return 0;
+}
+core_initcall(init_cpufreq_transition_notifier_list);
 
 static LIST_HEAD(cpufreq_governor_list);
 static DEFINE_MUTEX (cpufreq_governor_mutex);
@@ -262,14 +268,14 @@ void cpufreq_notify_transition(struct cp
 				freqs->old = policy->cur;
 			}
 		}
-		blocking_notifier_call_chain(&cpufreq_transition_notifier_list,
+		srcu_notifier_call_chain(&cpufreq_transition_notifier_list,
 				CPUFREQ_PRECHANGE, freqs);
 		adjust_jiffies(CPUFREQ_PRECHANGE, freqs);
 		break;
 
 	case CPUFREQ_POSTCHANGE:
 		adjust_jiffies(CPUFREQ_POSTCHANGE, freqs);
-		blocking_notifier_call_chain(&cpufreq_transition_notifier_list,
+		srcu_notifier_call_chain(&cpufreq_transition_notifier_list,
 				CPUFREQ_POSTCHANGE, freqs);
 		if (likely(policy) && likely(policy->cpu == freqs->cpu))
 			policy->cur = freqs->new;
@@ -1049,7 +1055,7 @@ static int cpufreq_suspend(struct sys_de
 		freqs.old = cpu_policy->cur;
 		freqs.new = cur_freq;
 
-		blocking_notifier_call_chain(&cpufreq_transition_notifier_list,
+		srcu_notifier_call_chain(&cpufreq_transition_notifier_list,
 				    CPUFREQ_SUSPENDCHANGE, &freqs);
 		adjust_jiffies(CPUFREQ_SUSPENDCHANGE, &freqs);
 
@@ -1130,7 +1136,7 @@ static int cpufreq_resume(struct sys_dev
 			freqs.old = cpu_policy->cur;
 			freqs.new = cur_freq;
 
-			blocking_notifier_call_chain(
+			srcu_notifier_call_chain(
 					&cpufreq_transition_notifier_list,
 					CPUFREQ_RESUMECHANGE, &freqs);
 			adjust_jiffies(CPUFREQ_RESUMECHANGE, &freqs);
@@ -1176,7 +1182,7 @@ int cpufreq_register_notifier(struct not
 
 	switch (list) {
 	case CPUFREQ_TRANSITION_NOTIFIER:
-		ret = blocking_notifier_chain_register(
+		ret = srcu_notifier_chain_register(
 				&cpufreq_transition_notifier_list, nb);
 		break;
 	case CPUFREQ_POLICY_NOTIFIER:
@@ -1208,7 +1214,7 @@ int cpufreq_unregister_notifier(struct n
 
 	switch (list) {
 	case CPUFREQ_TRANSITION_NOTIFIER:
-		ret = blocking_notifier_chain_unregister(
+		ret = srcu_notifier_chain_unregister(
 				&cpufreq_transition_notifier_list, nb);
 		break;
 	case CPUFREQ_POLICY_NOTIFIER:


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

* Re: Linux v2.6.18-rc3
  2006-07-31 20:34         ` Alan Stern
@ 2006-08-02  4:31           ` Jesse Brandeburg
  2006-08-02  4:59             ` Andrew Morton
  0 siblings, 1 reply; 27+ messages in thread
From: Jesse Brandeburg @ 2006-08-02  4:31 UTC (permalink / raw)
  To: Alan Stern; +Cc: Andrew Morton, Kernel development list, torvalds, cpufreq

On 7/31/06, Alan Stern <stern@rowland.harvard.edu> wrote:
> On Mon, 31 Jul 2006, Andrew Morton wrote:
>
> > core_initcall() would suit.  That's actually a bit late for this sort of
> > thing, but we can always add a new section later if it becomes a problem.
> > I'd suggest that we ensure that srcu_notifier_chain_register() performs a
> > reliable BUG() if it gets called too early.
>
> Here's a patch to test.  I can't try it out on my machine because
> 2.6.18-rc2-mm1 (even without the patch) crashes partway through a
> suspend-to-disk, in a way that's extremely hard to debug.  Some sort of
> spinlock-related bug occurs within ioapic_write_entry.

can't test because I also can't suspend or hibernate with rc2-mm1
(resume causes hard hang with the backlight and screen off)  The issue
i reported was against linus' 2.6.18-rc3 kernel.

patch didn't apply to 2.6.18-rc3.

Thanks,
  Jesse

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

* Re: Linux v2.6.18-rc3
  2006-08-02  4:31           ` Jesse Brandeburg
@ 2006-08-02  4:59             ` Andrew Morton
  2006-08-02 19:57               ` Jesse Brandeburg
  0 siblings, 1 reply; 27+ messages in thread
From: Andrew Morton @ 2006-08-02  4:59 UTC (permalink / raw)
  To: Jesse Brandeburg; +Cc: stern, linux-kernel, torvalds, cpufreq

On Tue, 1 Aug 2006 21:31:22 -0700
"Jesse Brandeburg" <jesse.brandeburg@gmail.com> wrote:

> On 7/31/06, Alan Stern <stern@rowland.harvard.edu> wrote:
> > On Mon, 31 Jul 2006, Andrew Morton wrote:
> >
> > > core_initcall() would suit.  That's actually a bit late for this sort of
> > > thing, but we can always add a new section later if it becomes a problem.
> > > I'd suggest that we ensure that srcu_notifier_chain_register() performs a
> > > reliable BUG() if it gets called too early.
> >
> > Here's a patch to test.  I can't try it out on my machine because
> > 2.6.18-rc2-mm1 (even without the patch) crashes partway through a
> > suspend-to-disk, in a way that's extremely hard to debug.  Some sort of
> > spinlock-related bug occurs within ioapic_write_entry.
> 
> can't test because I also can't suspend or hibernate with rc2-mm1
> (resume causes hard hang with the backlight and screen off)  The issue
> i reported was against linus' 2.6.18-rc3 kernel.
> 

This might help?


author Jiri Slaby <ku@bellona.localdomain> Tue, 01 Aug 2006 01:16:13 +0159

--- a/arch/i386/kernel/io_apic.c
+++ b/arch/i386/kernel/io_apic.c
@@ -2360,6 +2360,7 @@ static int ioapic_resume(struct sys_devi
 		reg_00.bits.ID = mp_ioapics[dev->id].mpc_apicid;
 		io_apic_write(dev->id, 0, reg_00.raw);
 	}
+	spin_unlock_irqrestore(&ioapic_lock, flags);
 	for (i = 0; i < nr_ioapic_registers[dev->id]; i ++)
 		ioapic_write_entry(dev->id, i, entry[i]);
 
-


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

* Re: Linux v2.6.18-rc3
  2006-08-02  4:59             ` Andrew Morton
@ 2006-08-02 19:57               ` Jesse Brandeburg
  2006-08-02 20:16                 ` Rafael J. Wysocki
                                   ` (2 more replies)
  0 siblings, 3 replies; 27+ messages in thread
From: Jesse Brandeburg @ 2006-08-02 19:57 UTC (permalink / raw)
  To: Andrew Morton; +Cc: stern, linux-kernel, torvalds, cpufreq

On 8/1/06, Andrew Morton <akpm@osdl.org> wrote:
> On Tue, 1 Aug 2006 21:31:22 -0700
> "Jesse Brandeburg" <jesse.brandeburg@gmail.com> wrote:
>
> > On 7/31/06, Alan Stern <stern@rowland.harvard.edu> wrote:
> > > On Mon, 31 Jul 2006, Andrew Morton wrote:
> > >
> > > > core_initcall() would suit.  That's actually a bit late for this sort of
> > > > thing, but we can always add a new section later if it becomes a problem.
> > > > I'd suggest that we ensure that srcu_notifier_chain_register() performs a
> > > > reliable BUG() if it gets called too early.
> > >
> > > Here's a patch to test.  I can't try it out on my machine because
> > > 2.6.18-rc2-mm1 (even without the patch) crashes partway through a
> > > suspend-to-disk, in a way that's extremely hard to debug.  Some sort of
> > > spinlock-related bug occurs within ioapic_write_entry.
> >
> > can't test because I also can't suspend or hibernate with rc2-mm1
> > (resume causes hard hang with the backlight and screen off)  The issue
> > i reported was against linus' 2.6.18-rc3 kernel.
> >
>
> This might help?
>
>
> author Jiri Slaby <ku@bellona.localdomain> Tue, 01 Aug 2006 01:16:13 +0159
>
> --- a/arch/i386/kernel/io_apic.c
> +++ b/arch/i386/kernel/io_apic.c
> @@ -2360,6 +2360,7 @@ static int ioapic_resume(struct sys_devi
>                 reg_00.bits.ID = mp_ioapics[dev->id].mpc_apicid;
>                 io_apic_write(dev->id, 0, reg_00.raw);
>         }
> +       spin_unlock_irqrestore(&ioapic_lock, flags);
>         for (i = 0; i < nr_ioapic_registers[dev->id]; i ++)
>                 ioapic_write_entry(dev->id, i, entry[i]);
>
> -
>
>

after applying this patch from jiri as well as the patch from alan, I
can now suspend and resume, and the patch from alan seems to work too,
but I have no idea if it executed.

BTW, I get junk out the serial port with the first bits of printk (and
during resume from S3 too) but then something manages to init the
serial port to the right speed and text starts coming out correctly.

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

* Re: Linux v2.6.18-rc3
  2006-08-02 19:57               ` Jesse Brandeburg
@ 2006-08-02 20:16                 ` Rafael J. Wysocki
  2006-08-02 20:23                   ` Russell King
  2006-08-02 20:38                 ` [PATCH 1/2] SRCU: report out-of-memory errors Alan Stern
  2006-08-02 20:38                 ` [PATCH 2/2] cpufreq: make the transition_notifier chain use SRCU Alan Stern
  2 siblings, 1 reply; 27+ messages in thread
From: Rafael J. Wysocki @ 2006-08-02 20:16 UTC (permalink / raw)
  To: Jesse Brandeburg; +Cc: Andrew Morton, stern, linux-kernel, torvalds, cpufreq

On Wednesday 02 August 2006 21:57, Jesse Brandeburg wrote:
> On 8/1/06, Andrew Morton <akpm@osdl.org> wrote:
> > On Tue, 1 Aug 2006 21:31:22 -0700
> > "Jesse Brandeburg" <jesse.brandeburg@gmail.com> wrote:
> >
> > > On 7/31/06, Alan Stern <stern@rowland.harvard.edu> wrote:
> > > > On Mon, 31 Jul 2006, Andrew Morton wrote:
> > > >
> > > > > core_initcall() would suit.  That's actually a bit late for this sort of
> > > > > thing, but we can always add a new section later if it becomes a problem.
> > > > > I'd suggest that we ensure that srcu_notifier_chain_register() performs a
> > > > > reliable BUG() if it gets called too early.
> > > >
> > > > Here's a patch to test.  I can't try it out on my machine because
> > > > 2.6.18-rc2-mm1 (even without the patch) crashes partway through a
> > > > suspend-to-disk, in a way that's extremely hard to debug.  Some sort of
> > > > spinlock-related bug occurs within ioapic_write_entry.
> > >
> > > can't test because I also can't suspend or hibernate with rc2-mm1
> > > (resume causes hard hang with the backlight and screen off)  The issue
> > > i reported was against linus' 2.6.18-rc3 kernel.
> > >
> >
> > This might help?
> >
> >
> > author Jiri Slaby <ku@bellona.localdomain> Tue, 01 Aug 2006 01:16:13 +0159
> >
> > --- a/arch/i386/kernel/io_apic.c
> > +++ b/arch/i386/kernel/io_apic.c
> > @@ -2360,6 +2360,7 @@ static int ioapic_resume(struct sys_devi
> >                 reg_00.bits.ID = mp_ioapics[dev->id].mpc_apicid;
> >                 io_apic_write(dev->id, 0, reg_00.raw);
> >         }
> > +       spin_unlock_irqrestore(&ioapic_lock, flags);
> >         for (i = 0; i < nr_ioapic_registers[dev->id]; i ++)
> >                 ioapic_write_entry(dev->id, i, entry[i]);
> >
> > -
> >
> >
> 
> after applying this patch from jiri as well as the patch from alan, I
> can now suspend and resume, and the patch from alan seems to work too,
> but I have no idea if it executed.
> 
> BTW, I get junk out the serial port with the first bits of printk (and
> during resume from S3 too) but then something manages to init the
> serial port to the right speed and text starts coming out correctly.

Please try the following patch from Russell King and see if it helps.

 drivers/char/tty_io.c        |   13 +++++++++++++
 drivers/serial/serial_core.c |   12 ++++++------
 include/linux/tty.h          |    2 ++
 3 files changed, 21 insertions(+), 6 deletions(-)

Index: linux-2.6.18-rc1-mm2/drivers/char/tty_io.c
===================================================================
--- linux-2.6.18-rc1-mm2.orig/drivers/char/tty_io.c
+++ linux-2.6.18-rc1-mm2/drivers/char/tty_io.c
@@ -1663,6 +1663,19 @@ release_mem_out:
 }
 
 /*
+ * Get a copy of the termios structure for the driver/index
+ */
+void tty_get_termios(struct tty_driver *driver, int idx, struct termios *tio)
+{
+	lock_kernel();
+	if (driver->termios[idx])
+		*tio = *driver->termios[idx];
+	else
+		*tio = driver->init_termios;
+	unlock_kernel();
+}
+
+/*
  * Releases memory associated with a tty structure, and clears out the
  * driver table slots.
  */
Index: linux-2.6.18-rc1-mm2/drivers/serial/serial_core.c
===================================================================
--- linux-2.6.18-rc1-mm2.orig/drivers/serial/serial_core.c
+++ linux-2.6.18-rc1-mm2/drivers/serial/serial_core.c
@@ -1981,16 +1981,16 @@ int uart_resume_port(struct uart_driver 
 		struct termios termios;
 
 		/*
-		 * First try to use the console cflag setting.
+		 * Get the termios for this line
 		 */
-		memset(&termios, 0, sizeof(struct termios));
-		termios.c_cflag = port->cons->cflag;
+		tty_get_termios(drv->tty_driver, port->line, &termios);
 
 		/*
-		 * If that's unset, use the tty termios setting.
+		 * If the console cflag is still set, subsitute that
+		 * for the termios cflag.
 		 */
-		if (state->info && state->info->tty && termios.c_cflag == 0)
-			termios = *state->info->tty->termios;
+		if (port->cons->cflag)
+			termios.c_cflag = port->cons->cflag;
 
 		port->ops->set_termios(port, &termios, NULL);
 		console_start(port->cons);
Index: linux-2.6.18-rc1-mm2/include/linux/tty.h
===================================================================
--- linux-2.6.18-rc1-mm2.orig/include/linux/tty.h
+++ linux-2.6.18-rc1-mm2/include/linux/tty.h
@@ -284,6 +284,8 @@ extern int tty_read_raw_data(struct tty_
 			     int buflen);
 extern void tty_write_message(struct tty_struct *tty, char *msg);
 
+extern void tty_get_termios(struct tty_driver *drv, int idx, struct termios *tio);
+
 extern int is_orphaned_pgrp(int pgrp);
 extern int is_ignored(int sig);
 extern int tty_signal(int sig, struct tty_struct *tty);

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

* Re: Linux v2.6.18-rc3
  2006-08-02 20:16                 ` Rafael J. Wysocki
@ 2006-08-02 20:23                   ` Russell King
  2006-08-02 20:26                     ` Rafael J. Wysocki
  2006-08-02 20:32                     ` Dave Jones
  0 siblings, 2 replies; 27+ messages in thread
From: Russell King @ 2006-08-02 20:23 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Jesse Brandeburg, Andrew Morton, stern, linux-kernel, torvalds,
	cpufreq

On Wed, Aug 02, 2006 at 10:16:54PM +0200, Rafael J. Wysocki wrote:
> Please try the following patch from Russell King and see if it helps.

I'd have missed this if it weren't for that comment.  It hasn't been
merged so far due to the lack of feedback on it...  Thanks for trying
to get that feedback.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 Serial core

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

* Re: Linux v2.6.18-rc3
  2006-08-02 20:23                   ` Russell King
@ 2006-08-02 20:26                     ` Rafael J. Wysocki
  2006-08-02 20:32                     ` Dave Jones
  1 sibling, 0 replies; 27+ messages in thread
From: Rafael J. Wysocki @ 2006-08-02 20:26 UTC (permalink / raw)
  To: Russell King
  Cc: Jesse Brandeburg, Andrew Morton, stern, linux-kernel, torvalds,
	cpufreq

On Wednesday 02 August 2006 22:23, Russell King wrote:
> On Wed, Aug 02, 2006 at 10:16:54PM +0200, Rafael J. Wysocki wrote:
> > Please try the following patch from Russell King and see if it helps.
> 
> I'd have missed this if it weren't for that comment.  It hasn't been
> merged so far due to the lack of feedback on it...  Thanks for trying
> to get that feedback.

Well, it fixes the problem for me. ;-)

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

* Re: Linux v2.6.18-rc3
  2006-08-02 20:23                   ` Russell King
  2006-08-02 20:26                     ` Rafael J. Wysocki
@ 2006-08-02 20:32                     ` Dave Jones
  2006-08-02 20:58                       ` Russell King
  1 sibling, 1 reply; 27+ messages in thread
From: Dave Jones @ 2006-08-02 20:32 UTC (permalink / raw)
  To: Rafael J. Wysocki, Jesse Brandeburg, Andrew Morton, stern,
	linux-kernel, torvalds, cpufreq

On Wed, Aug 02, 2006 at 09:23:09PM +0100, Russell King wrote:
 > On Wed, Aug 02, 2006 at 10:16:54PM +0200, Rafael J. Wysocki wrote:
 > > Please try the following patch from Russell King and see if it helps.
 > 
 > I'd have missed this if it weren't for that comment.  It hasn't been
 > merged so far due to the lack of feedback on it...  Thanks for trying
 > to get that feedback.

I'm fairly certain I gave feedback on this, and I'm sure I recall Pavel 
did too.  It did nothing for me.

		Dave

-- 
http://www.codemonkey.org.uk

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

* [PATCH 1/2] SRCU: report out-of-memory errors
  2006-08-02 19:57               ` Jesse Brandeburg
  2006-08-02 20:16                 ` Rafael J. Wysocki
@ 2006-08-02 20:38                 ` Alan Stern
  2006-08-02 20:57                   ` Paul E. McKenney
  2006-08-02 20:38                 ` [PATCH 2/2] cpufreq: make the transition_notifier chain use SRCU Alan Stern
  2 siblings, 1 reply; 27+ messages in thread
From: Alan Stern @ 2006-08-02 20:38 UTC (permalink / raw)
  To: Andrew Morton, Paul E. McKenney; +Cc: Jesse Brandeburg, Kernel development list

Currently the init_srcu_struct() routine has no way to report 
out-of-memory errors.  This patch (as761) makes it return -ENOMEM when the 
per-cpu data allocation fails.

The patch also makes srcu_init_notifier_head() report a BUG if a notifier
head can't be initialized.  Perhaps it should return -ENOMEM instead, but
in the most likely cases where this might occur I don't think any recovery
is possible.  Notifier chains generally are not created dynamically.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>

---

Paul, I trust you will agree with the changes this makes to the SRCU code.

The second part of this patch series will convert the cpufreq transition 
notifier chain to use SRCU, with the initialization occuring in a 
core_initcall routine.  Although I haven't actually tried it, it seems 
very likely that an attempt to use the notifier chain before it has been 
initialized will cause a memory-address fault.

Alan Stern


Index: 2.6.18-rc2-mm1/kernel/sys.c
===================================================================
--- 2.6.18-rc2-mm1.orig/kernel/sys.c
+++ 2.6.18-rc2-mm1/kernel/sys.c
@@ -516,7 +516,7 @@ EXPORT_SYMBOL_GPL(srcu_notifier_call_cha
 void srcu_init_notifier_head(struct srcu_notifier_head *nh)
 {
 	mutex_init(&nh->mutex);
-	init_srcu_struct(&nh->srcu);
+	BUG_ON(init_srcu_struct(&nh->srcu) < 0);
 	nh->head = NULL;
 }
 
Index: 2.6.18-rc2-mm1/kernel/srcu.c
===================================================================
--- 2.6.18-rc2-mm1.orig/kernel/srcu.c
+++ 2.6.18-rc2-mm1/kernel/srcu.c
@@ -42,11 +42,12 @@
  * to any other function.  Each srcu_struct represents a separate domain
  * of SRCU protection.
  */
-void init_srcu_struct(struct srcu_struct *sp)
+int init_srcu_struct(struct srcu_struct *sp)
 {
 	sp->completed = 0;
-	sp->per_cpu_ref = alloc_percpu(struct srcu_struct_array);
 	mutex_init(&sp->mutex);
+	sp->per_cpu_ref = alloc_percpu(struct srcu_struct_array);
+	return (sp->per_cpu_ref ? 0 : -ENOMEM);
 }
 
 /*
Index: 2.6.18-rc2-mm1/include/linux/srcu.h
===================================================================
--- 2.6.18-rc2-mm1.orig/include/linux/srcu.h
+++ 2.6.18-rc2-mm1/include/linux/srcu.h
@@ -43,7 +43,7 @@ struct srcu_struct {
 #define srcu_barrier()
 #endif /* #else #ifndef CONFIG_PREEMPT */
 
-void init_srcu_struct(struct srcu_struct *sp);
+int init_srcu_struct(struct srcu_struct *sp);
 void cleanup_srcu_struct(struct srcu_struct *sp);
 int srcu_read_lock(struct srcu_struct *sp);
 void srcu_read_unlock(struct srcu_struct *sp, int idx);


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

* [PATCH 2/2] cpufreq: make the transition_notifier chain use SRCU
  2006-08-02 19:57               ` Jesse Brandeburg
  2006-08-02 20:16                 ` Rafael J. Wysocki
  2006-08-02 20:38                 ` [PATCH 1/2] SRCU: report out-of-memory errors Alan Stern
@ 2006-08-02 20:38                 ` Alan Stern
  2 siblings, 0 replies; 27+ messages in thread
From: Alan Stern @ 2006-08-02 20:38 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Paul E. McKenney, Jesse Brandeburg, Kernel development list

This patch (as762) changes the cpufreq_transition_notifier_list from a 
blocking_notifier_head to an srcu_notifier_head.  This will prevent errors 
caused attempting to call down_read() to access the notifier chain at a 
time when interrupts must remain disabled, during system suspend.

It's not clear to me whether this is really necessary; perhaps the 
chain could be made into an atomic_notifier.  However a couple of the 
callout routines do use blocking operations, so this approach seems safer.

The head of the notifier chain needs to be initialized before use; this is 
done by an __init routine at core_initcall time.  If this turns out not to 
be a good choice, it can easily be changed.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>

---

Index: 2.6.18-rc2-mm1/drivers/cpufreq/cpufreq.c
===================================================================
--- 2.6.18-rc2-mm1.orig/drivers/cpufreq/cpufreq.c
+++ 2.6.18-rc2-mm1/drivers/cpufreq/cpufreq.c
@@ -52,8 +52,14 @@ static void handle_update(void *data);
  * The mutex locks both lists.
  */
 static BLOCKING_NOTIFIER_HEAD(cpufreq_policy_notifier_list);
-static BLOCKING_NOTIFIER_HEAD(cpufreq_transition_notifier_list);
+static struct srcu_notifier_head cpufreq_transition_notifier_list;
 
+static int __init init_cpufreq_transition_notifier_list(void)
+{
+	srcu_init_notifier_head(&cpufreq_transition_notifier_list);
+	return 0;
+}
+core_initcall(init_cpufreq_transition_notifier_list);
 
 static LIST_HEAD(cpufreq_governor_list);
 static DEFINE_MUTEX (cpufreq_governor_mutex);
@@ -262,14 +268,14 @@ void cpufreq_notify_transition(struct cp
 				freqs->old = policy->cur;
 			}
 		}
-		blocking_notifier_call_chain(&cpufreq_transition_notifier_list,
+		srcu_notifier_call_chain(&cpufreq_transition_notifier_list,
 				CPUFREQ_PRECHANGE, freqs);
 		adjust_jiffies(CPUFREQ_PRECHANGE, freqs);
 		break;
 
 	case CPUFREQ_POSTCHANGE:
 		adjust_jiffies(CPUFREQ_POSTCHANGE, freqs);
-		blocking_notifier_call_chain(&cpufreq_transition_notifier_list,
+		srcu_notifier_call_chain(&cpufreq_transition_notifier_list,
 				CPUFREQ_POSTCHANGE, freqs);
 		if (likely(policy) && likely(policy->cpu == freqs->cpu))
 			policy->cur = freqs->new;
@@ -1049,7 +1055,7 @@ static int cpufreq_suspend(struct sys_de
 		freqs.old = cpu_policy->cur;
 		freqs.new = cur_freq;
 
-		blocking_notifier_call_chain(&cpufreq_transition_notifier_list,
+		srcu_notifier_call_chain(&cpufreq_transition_notifier_list,
 				    CPUFREQ_SUSPENDCHANGE, &freqs);
 		adjust_jiffies(CPUFREQ_SUSPENDCHANGE, &freqs);
 
@@ -1130,7 +1136,7 @@ static int cpufreq_resume(struct sys_dev
 			freqs.old = cpu_policy->cur;
 			freqs.new = cur_freq;
 
-			blocking_notifier_call_chain(
+			srcu_notifier_call_chain(
 					&cpufreq_transition_notifier_list,
 					CPUFREQ_RESUMECHANGE, &freqs);
 			adjust_jiffies(CPUFREQ_RESUMECHANGE, &freqs);
@@ -1176,7 +1182,7 @@ int cpufreq_register_notifier(struct not
 
 	switch (list) {
 	case CPUFREQ_TRANSITION_NOTIFIER:
-		ret = blocking_notifier_chain_register(
+		ret = srcu_notifier_chain_register(
 				&cpufreq_transition_notifier_list, nb);
 		break;
 	case CPUFREQ_POLICY_NOTIFIER:
@@ -1208,7 +1214,7 @@ int cpufreq_unregister_notifier(struct n
 
 	switch (list) {
 	case CPUFREQ_TRANSITION_NOTIFIER:
-		ret = blocking_notifier_chain_unregister(
+		ret = srcu_notifier_chain_unregister(
 				&cpufreq_transition_notifier_list, nb);
 		break;
 	case CPUFREQ_POLICY_NOTIFIER:


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

* Re: [PATCH 1/2] SRCU: report out-of-memory errors
  2006-08-02 20:38                 ` [PATCH 1/2] SRCU: report out-of-memory errors Alan Stern
@ 2006-08-02 20:57                   ` Paul E. McKenney
  0 siblings, 0 replies; 27+ messages in thread
From: Paul E. McKenney @ 2006-08-02 20:57 UTC (permalink / raw)
  To: Alan Stern; +Cc: Andrew Morton, Jesse Brandeburg, Kernel development list

On Wed, Aug 02, 2006 at 04:38:28PM -0400, Alan Stern wrote:
> Currently the init_srcu_struct() routine has no way to report 
> out-of-memory errors.  This patch (as761) makes it return -ENOMEM when the 
> per-cpu data allocation fails.
> 
> The patch also makes srcu_init_notifier_head() report a BUG if a notifier
> head can't be initialized.  Perhaps it should return -ENOMEM instead, but
> in the most likely cases where this might occur I don't think any recovery
> is possible.  Notifier chains generally are not created dynamically.

Acked-by: Paul E. McKenney <paulmck@us.ibm.com>

> Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
> 
> ---
> 
> Paul, I trust you will agree with the changes this makes to the SRCU code.

Indeed I do...  Good catch!!!

							Thanx, Paul

> The second part of this patch series will convert the cpufreq transition 
> notifier chain to use SRCU, with the initialization occuring in a 
> core_initcall routine.  Although I haven't actually tried it, it seems 
> very likely that an attempt to use the notifier chain before it has been 
> initialized will cause a memory-address fault.
> 
> Alan Stern
> 
> 
> Index: 2.6.18-rc2-mm1/kernel/sys.c
> ===================================================================
> --- 2.6.18-rc2-mm1.orig/kernel/sys.c
> +++ 2.6.18-rc2-mm1/kernel/sys.c
> @@ -516,7 +516,7 @@ EXPORT_SYMBOL_GPL(srcu_notifier_call_cha
>  void srcu_init_notifier_head(struct srcu_notifier_head *nh)
>  {
>  	mutex_init(&nh->mutex);
> -	init_srcu_struct(&nh->srcu);
> +	BUG_ON(init_srcu_struct(&nh->srcu) < 0);
>  	nh->head = NULL;
>  }
>  
> Index: 2.6.18-rc2-mm1/kernel/srcu.c
> ===================================================================
> --- 2.6.18-rc2-mm1.orig/kernel/srcu.c
> +++ 2.6.18-rc2-mm1/kernel/srcu.c
> @@ -42,11 +42,12 @@
>   * to any other function.  Each srcu_struct represents a separate domain
>   * of SRCU protection.
>   */
> -void init_srcu_struct(struct srcu_struct *sp)
> +int init_srcu_struct(struct srcu_struct *sp)
>  {
>  	sp->completed = 0;
> -	sp->per_cpu_ref = alloc_percpu(struct srcu_struct_array);
>  	mutex_init(&sp->mutex);
> +	sp->per_cpu_ref = alloc_percpu(struct srcu_struct_array);
> +	return (sp->per_cpu_ref ? 0 : -ENOMEM);
>  }
>  
>  /*
> Index: 2.6.18-rc2-mm1/include/linux/srcu.h
> ===================================================================
> --- 2.6.18-rc2-mm1.orig/include/linux/srcu.h
> +++ 2.6.18-rc2-mm1/include/linux/srcu.h
> @@ -43,7 +43,7 @@ struct srcu_struct {
>  #define srcu_barrier()
>  #endif /* #else #ifndef CONFIG_PREEMPT */
>  
> -void init_srcu_struct(struct srcu_struct *sp);
> +int init_srcu_struct(struct srcu_struct *sp);
>  void cleanup_srcu_struct(struct srcu_struct *sp);
>  int srcu_read_lock(struct srcu_struct *sp);
>  void srcu_read_unlock(struct srcu_struct *sp, int idx);
> 

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

* Re: Linux v2.6.18-rc3
  2006-08-02 20:32                     ` Dave Jones
@ 2006-08-02 20:58                       ` Russell King
  2006-08-02 21:01                         ` Dave Jones
  2006-08-02 21:18                         ` Linus Torvalds
  0 siblings, 2 replies; 27+ messages in thread
From: Russell King @ 2006-08-02 20:58 UTC (permalink / raw)
  To: Dave Jones, Rafael J. Wysocki, Jesse Brandeburg, Andrew Morton,
	stern, linux-kernel, torvalds, cpufreq

On Wed, Aug 02, 2006 at 04:32:36PM -0400, Dave Jones wrote:
> On Wed, Aug 02, 2006 at 09:23:09PM +0100, Russell King wrote:
>  > On Wed, Aug 02, 2006 at 10:16:54PM +0200, Rafael J. Wysocki wrote:
>  > > Please try the following patch from Russell King and see if it helps.
>  > 
>  > I'd have missed this if it weren't for that comment.  It hasn't been
>  > merged so far due to the lack of feedback on it...  Thanks for trying
>  > to get that feedback.
> 
> I'm fairly certain I gave feedback on this, and I'm sure I recall Pavel 
> did too.  It did nothing for me.

Maybe you did, but it never got here.  The last two messages in the
thread were mine posting this patch and pleading for some feedback
which never came.

Rafael has reported that it fixes his problem, which is great - and is
the first bit of feedback I've received on it (thanks Rafael.)

I've no idea why it doesn't work for you though.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 Serial core

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

* Re: Linux v2.6.18-rc3
  2006-08-02 20:58                       ` Russell King
@ 2006-08-02 21:01                         ` Dave Jones
  2006-08-02 21:18                         ` Linus Torvalds
  1 sibling, 0 replies; 27+ messages in thread
From: Dave Jones @ 2006-08-02 21:01 UTC (permalink / raw)
  To: Rafael J. Wysocki, Jesse Brandeburg, Andrew Morton, stern,
	linux-kernel, torvalds, cpufreq

On Wed, Aug 02, 2006 at 09:58:24PM +0100, Russell King wrote:

 > Maybe you did, but it never got here.  The last two messages in the
 > thread were mine posting this patch and pleading for some feedback
 > which never came.
 > 
 > Rafael has reported that it fixes his problem, which is great - and is
 > the first bit of feedback I've received on it (thanks Rafael.)
 > 
 > I've no idea why it doesn't work for you though.

doesn't make it any worse at least ;-)

		Dave
-- 
http://www.codemonkey.org.uk

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

* Re: Linux v2.6.18-rc3
  2006-08-02 20:58                       ` Russell King
  2006-08-02 21:01                         ` Dave Jones
@ 2006-08-02 21:18                         ` Linus Torvalds
  2006-08-02 21:38                           ` Russell King
  1 sibling, 1 reply; 27+ messages in thread
From: Linus Torvalds @ 2006-08-02 21:18 UTC (permalink / raw)
  To: Russell King
  Cc: Dave Jones, Rafael J. Wysocki, Jesse Brandeburg, Andrew Morton,
	stern, linux-kernel, cpufreq



On Wed, 2 Aug 2006, Russell King wrote:
> 
> Rafael has reported that it fixes his problem, which is great - and is
> the first bit of feedback I've received on it (thanks Rafael.)
> 
> I've no idea why it doesn't work for you though.

Well, more importantly, why would we do something like this in the first 
place?

Wouldn't it be a _lot_ better to just use the bog-standard 
"suspend/resume" callbacks, and let serial drivers just suspend/resume on 
their own, instead of having upper layers generate these fake 
"set_termios()" calls?

The serial layer should use set_termios() when users set the termios state 
(surprise surprise), not to emulate suspend/restore. 

Real hardware tends to want to do a lot more _anyway_ for suspend/restore, 
so the argument that "set_termios()" already exists as an interface is 
pretty bogus.

			Linus

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

* Re: Linux v2.6.18-rc3
  2006-08-02 21:18                         ` Linus Torvalds
@ 2006-08-02 21:38                           ` Russell King
  2006-08-02 22:04                             ` Linus Torvalds
  2006-08-02 22:05                             ` Russell King
  0 siblings, 2 replies; 27+ messages in thread
From: Russell King @ 2006-08-02 21:38 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Dave Jones, Rafael J. Wysocki, Jesse Brandeburg, Andrew Morton,
	stern, linux-kernel, cpufreq

On Wed, Aug 02, 2006 at 02:18:55PM -0700, Linus Torvalds wrote:
> Well, more importantly, why would we do something like this in the first 
> place?

The low level drivers can do that already if they so wish.  We provide
a library function to allow them to do the generic parts, which is
what we're talking about here.

> The serial layer should use set_termios() when users set the termios state 
> (surprise surprise), not to emulate suspend/restore.

Yes Linus, you're obviously right.  Would you mind re-engineering this
while I'm away for the next few days.  For _ALL_ serial drivers, not
just 8250.  Thanks.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 Serial core

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

* Re: Linux v2.6.18-rc3
  2006-08-02 21:38                           ` Russell King
@ 2006-08-02 22:04                             ` Linus Torvalds
  2006-08-02 22:05                             ` Russell King
  1 sibling, 0 replies; 27+ messages in thread
From: Linus Torvalds @ 2006-08-02 22:04 UTC (permalink / raw)
  To: Russell King
  Cc: Dave Jones, Rafael J. Wysocki, Jesse Brandeburg, Andrew Morton,
	stern, linux-kernel, cpufreq



On Wed, 2 Aug 2006, Russell King wrote:
> 
> > The serial layer should use set_termios() when users set the termios state 
> > (surprise surprise), not to emulate suspend/restore.
> 
> Yes Linus, you're obviously right.  Would you mind re-engineering this
> while I'm away for the next few days.  For _ALL_ serial drivers, not
> just 8250.  Thanks.

The problem is that right now, the silly set_termios() call can be 
actively detrimental to sub-drivers that do this right. 

I suspect it would be a lot better to just fix a few major serial drivers 
(and yes, that means primarily 8250), and just force others to fix 
themselves as developers get around to it and care (in many cases they 
might not even do so). As it is, going to set_termios way is likely to 
just make things _worse_ in the long run, by just not letting the serial 
driver do what's sane.

		Linus

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

* Re: Linux v2.6.18-rc3
  2006-08-02 21:38                           ` Russell King
  2006-08-02 22:04                             ` Linus Torvalds
@ 2006-08-02 22:05                             ` Russell King
  1 sibling, 0 replies; 27+ messages in thread
From: Russell King @ 2006-08-02 22:05 UTC (permalink / raw)
  To: Linus Torvalds, Dave Jones, Rafael J. Wysocki, Jesse Brandeburg,
	Andrew Morton, stern, linux-kernel, cpufreq

On Wed, Aug 02, 2006 at 10:38:34PM +0100, Russell King wrote:
> On Wed, Aug 02, 2006 at 02:18:55PM -0700, Linus Torvalds wrote:
> > The serial layer should use set_termios() when users set the termios state 
> > (surprise surprise), not to emulate suspend/restore.
> 
> Yes Linus, you're obviously right.  Would you mind re-engineering this
> while I'm away for the next few days.  For _ALL_ serial drivers, not
> just 8250.  Thanks.

BTW, you'll need to replicate some of the quirk behaviour on some 8250
compatible UARTs when restoring registers - you can't blindly write
the registers in any one particular order.

Some UARTs have side effects which reset some features if you do that
(eg, TI16750 UARTs with 64 byte FIFOs need a different register writing
order from everything else, otherwise it turns off the 64-byte FIFOs.)
Others require you to write a sequence of values to a register, etc.

Okay, consider me gone from this point forwards for the next few days.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 Serial core

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

* Re: Linux v2.6.18-rc3
  2006-07-30  6:27 Linux v2.6.18-rc3 Linus Torvalds
  2006-07-30  8:30 ` Russell King
  2006-07-31  4:13 ` Jesse Brandeburg
@ 2006-08-03 15:58 ` Avuton Olrich
  2006-08-03 16:40   ` Adrian Bunk
  2 siblings, 1 reply; 27+ messages in thread
From: Avuton Olrich @ 2006-08-03 15:58 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Linux Kernel Mailing List

[-- Attachment #1: Type: text/plain, Size: 674 bytes --]

On 7/29/06, Linus Torvalds <torvalds@osdl.org> wrote:
>
> Ok, this missed a week (it should really have been -rc4, and we should
> have had a -rc3 a week ago), but the fact is, with a lot of people at the
> kernel summit and at OLS, it was so quiet for a week that there simply was
> no point.

Got a warning with -rc3:
WARNING: "fb_register_client" [drivers/video/backlight/backlight.ko] undefined!
WARNING: "fb_unregister_client" [drivers/video/backlight/backlight.ko]
undefined!

I'm not sure who the maintainer is. I don't really need it, just
wanted someone to be aware. config attached.

-- 
avuton
--
 Anyone who quotes me in their sig is an idiot. -- Rusty Russell.

[-- Attachment #2: config --]
[-- Type: application/octet-stream, Size: 29032 bytes --]

#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.18-rc3-ck1
# Thu Aug  3 08:29:56 2006
#
CONFIG_X86_64=y
CONFIG_64BIT=y
CONFIG_X86=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_SEMAPHORE_SLEEPERS=y
CONFIG_MMU=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_X86_CMPXCHG=y
CONFIG_EARLY_PRINTK=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_DMI=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32

#
# General setup
#
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_SWAP=y
# CONFIG_SWAP_PREFETCH is not set
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_TASKSTATS is not set
CONFIG_SYSCTL=y
# CONFIG_AUDIT is not set
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_CPUSETS is not set
# CONFIG_RELAY is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_UID16=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
# CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_RT_MUTEXES=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SHMEM=y
CONFIG_SLAB=y
CONFIG_VM_EVENT_COUNTERS=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
# CONFIG_SLOB is not set

#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_KMOD=y
CONFIG_STOP_MACHINE=y

#
# Block layer
#
# CONFIG_LBD is not set
# CONFIG_BLK_DEV_IO_TRACE is not set
# CONFIG_LSF is not set

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"

#
# Processor type and features
#
CONFIG_X86_PC=y
# CONFIG_X86_VSMP is not set
CONFIG_MK8=y
# CONFIG_MPSC is not set
# CONFIG_GENERIC_CPU is not set
CONFIG_X86_L1_CACHE_BYTES=64
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_INTERNODE_CACHE_BYTES=64
CONFIG_X86_TSC=y
CONFIG_X86_GOOD_APIC=y
# CONFIG_MICROCODE is not set
# CONFIG_X86_MSR is not set
# CONFIG_X86_CPUID is not set
CONFIG_X86_IO_APIC=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_MTRR=y
CONFIG_SMP=y
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
CONFIG_PREEMPT_BKL=y
# CONFIG_NUMA is not set
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
# CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
# CONFIG_SPARSEMEM_STATIC is not set
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_RESOURCES_64BIT=y
CONFIG_NR_CPUS=2
CONFIG_HOTPLUG_CPU=y
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_IOMMU=y
# CONFIG_CALGARY_IOMMU is not set
CONFIG_SWIOTLB=y
CONFIG_X86_MCE=y
# CONFIG_X86_MCE_INTEL is not set
CONFIG_X86_MCE_AMD=y
CONFIG_KEXEC=y
# CONFIG_CRASH_DUMP is not set
CONFIG_PHYSICAL_START=0x200000
CONFIG_SECCOMP=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250_NODEFAULT is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000
CONFIG_REORDER=y
CONFIG_K8_NB=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_ISA_DMA_API=y
CONFIG_GENERIC_PENDING_IRQ=y

#
# Power management options
#
CONFIG_PM=y
# CONFIG_PM_LEGACY is not set
# CONFIG_PM_DEBUG is not set
CONFIG_SOFTWARE_SUSPEND=y
CONFIG_PM_STD_PARTITION="/dev/sda2"
CONFIG_SUSPEND_SMP=y

#
# ACPI (Advanced Configuration and Power Interface) Support
#
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_SLEEP_PROC_FS=y
# CONFIG_ACPI_SLEEP_PROC_SLEEP is not set
# CONFIG_ACPI_AC is not set
# CONFIG_ACPI_BATTERY is not set
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_VIDEO=y
CONFIG_ACPI_HOTKEY=m
CONFIG_ACPI_FAN=y
# CONFIG_ACPI_DOCK is not set
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_HOTPLUG_CPU=y
CONFIG_ACPI_THERMAL=y
# CONFIG_ACPI_ASUS is not set
# CONFIG_ACPI_IBM is not set
# CONFIG_ACPI_TOSHIBA is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_SYSTEM=y
CONFIG_X86_PM_TIMER=y
CONFIG_ACPI_CONTAINER=y

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
# CONFIG_CPU_FREQ_DEBUG is not set
CONFIG_CPU_FREQ_STAT=y
# CONFIG_CPU_FREQ_STAT_DETAILS is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set

#
# CPUFreq processor drivers
#
CONFIG_X86_POWERNOW_K8=y
CONFIG_X86_POWERNOW_K8_ACPI=y
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
CONFIG_X86_ACPI_CPUFREQ=y

#
# shared options
#
# CONFIG_X86_ACPI_CPUFREQ_PROC_INTF is not set
# CONFIG_X86_SPEEDSTEP_LIB is not set

#
# Bus options (PCI etc.)
#
CONFIG_PCI=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCIEPORTBUS=y
CONFIG_PCI_MSI=y

#
# PCCARD (PCMCIA/CardBus) support
#
# CONFIG_PCCARD is not set

#
# PCI Hotplug Support
#
# CONFIG_HOTPLUG_PCI is not set

#
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_MISC=y
CONFIG_IA32_EMULATION=y
CONFIG_IA32_AOUT=y
CONFIG_COMPAT=y
CONFIG_SYSVIPC_COMPAT=y

#
# Networking
#
CONFIG_NET=y

#
# Networking options
#
# CONFIG_NETDEBUG is not set
CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y
CONFIG_UNIX=y
CONFIG_XFRM=y
# CONFIG_XFRM_USER is not set
CONFIG_NET_KEY=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
# CONFIG_IP_ADVANCED_ROUTER is not set
CONFIG_IP_FIB_HASH=y
# CONFIG_IP_PNP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_IP_MROUTE is not set
# CONFIG_ARPD is not set
# CONFIG_SYN_COOKIES is not set
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_XFRM_TUNNEL is not set
# CONFIG_INET_TUNNEL is not set
CONFIG_INET_XFRM_MODE_TRANSPORT=y
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_BIC=y
# CONFIG_IPV6 is not set
# CONFIG_INET6_XFRM_TUNNEL is not set
# CONFIG_INET6_TUNNEL is not set
# CONFIG_NETWORK_SECMARK is not set
# CONFIG_NETFILTER is not set

#
# DCCP Configuration (EXPERIMENTAL)
#
CONFIG_IP_DCCP=m
CONFIG_INET_DCCP_DIAG=m
CONFIG_IP_DCCP_ACKVEC=y

#
# DCCP CCIDs Configuration (EXPERIMENTAL)
#
CONFIG_IP_DCCP_CCID2=m
CONFIG_IP_DCCP_CCID3=m
CONFIG_IP_DCCP_TFRC_LIB=m

#
# SCTP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_SCTP is not set

#
# TIPC Configuration (EXPERIMENTAL)
#
# CONFIG_TIPC is not set
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set

#
# QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
# CONFIG_IEEE80211 is not set

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
# CONFIG_FW_LOADER is not set
# CONFIG_SYS_HYPERVISOR is not set

#
# Connector - unified userspace <-> kernelspace linker
#
# CONFIG_CONNECTOR is not set

#
# Memory Technology Devices (MTD)
#
# CONFIG_MTD is not set

#
# Parallel port support
#
CONFIG_PARPORT=y
CONFIG_PARPORT_PC=y
# CONFIG_PARPORT_SERIAL is not set
CONFIG_PARPORT_PC_FIFO=y
# CONFIG_PARPORT_PC_SUPERIO is not set
CONFIG_PARPORT_NOT_PC=y
# CONFIG_PARPORT_GSC is not set
# CONFIG_PARPORT_AX88796 is not set
# CONFIG_PARPORT_1284 is not set

#
# Plug and Play support
#
# CONFIG_PNP is not set

#
# Block devices
#
CONFIG_BLK_DEV_FD=y
# CONFIG_PARIDE is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_CRYPTOLOOP=m
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_SX8 is not set
# CONFIG_BLK_DEV_UB is not set
# CONFIG_BLK_DEV_RAM is not set
# CONFIG_BLK_DEV_INITRD is not set
CONFIG_CDROM_PKTCDVD=y
CONFIG_CDROM_PKTCDVD_BUFFERS=8
CONFIG_CDROM_PKTCDVD_WCACHE=y
# CONFIG_ATA_OVER_ETH is not set

#
# ATA/ATAPI/MFM/RLL support
#
# CONFIG_IDE is not set

#
# SCSI device support
#
# CONFIG_RAID_ATTRS is not set
CONFIG_SCSI=y
# CONFIG_SCSI_PROC_FS is not set

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
CONFIG_BLK_DEV_SR=m
# CONFIG_BLK_DEV_SR_VENDOR is not set
CONFIG_CHR_DEV_SG=y
# CONFIG_CHR_DEV_SCH is not set

#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
CONFIG_SCSI_MULTI_LUN=y
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set

#
# SCSI Transport Attributes
#
# CONFIG_SCSI_SPI_ATTRS is not set
# CONFIG_SCSI_FC_ATTRS is not set
# CONFIG_SCSI_ISCSI_ATTRS is not set
# CONFIG_SCSI_SAS_ATTRS is not set

#
# SCSI low-level drivers
#
# CONFIG_ISCSI_TCP is not set
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_MEGARAID_SAS is not set
CONFIG_SCSI_SATA=y
CONFIG_SCSI_SATA_AHCI=y
# CONFIG_SCSI_SATA_SVW is not set
# CONFIG_SCSI_ATA_PIIX is not set
# CONFIG_SCSI_SATA_MV is not set
CONFIG_SCSI_SATA_NV=y
# CONFIG_SCSI_PDC_ADMA is not set
# CONFIG_SCSI_HPTIOP is not set
# CONFIG_SCSI_SATA_QSTOR is not set
# CONFIG_SCSI_SATA_PROMISE is not set
# CONFIG_SCSI_SATA_SX4 is not set
# CONFIG_SCSI_SATA_SIL is not set
CONFIG_SCSI_SATA_SIL24=y
# CONFIG_SCSI_SATA_SIS is not set
# CONFIG_SCSI_SATA_ULI is not set
# CONFIG_SCSI_SATA_VIA is not set
# CONFIG_SCSI_SATA_VITESSE is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_PPA is not set
# CONFIG_SCSI_IMM is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_QLA_FC is not set
# CONFIG_SCSI_LPFC is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_DEBUG is not set

#
# Multi-device support (RAID and LVM)
#
CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
CONFIG_MD_LINEAR=y
CONFIG_MD_RAID0=y
# CONFIG_MD_RAID1 is not set
# CONFIG_MD_RAID10 is not set
# CONFIG_MD_RAID456 is not set
# CONFIG_MD_MULTIPATH is not set
# CONFIG_MD_FAULTY is not set
# CONFIG_BLK_DEV_DM is not set

#
# Fusion MPT device support
#
# CONFIG_FUSION is not set
# CONFIG_FUSION_SPI is not set
# CONFIG_FUSION_FC is not set
# CONFIG_FUSION_SAS is not set

#
# IEEE 1394 (FireWire) support
#
# CONFIG_IEEE1394 is not set

#
# I2O device support
#
CONFIG_I2O=y
CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
# CONFIG_I2O_EXT_ADAPTEC is not set
CONFIG_I2O_CONFIG=y
# CONFIG_I2O_CONFIG_OLD_IOCTL is not set
CONFIG_I2O_BUS=y
CONFIG_I2O_BLOCK=y
CONFIG_I2O_SCSI=y
CONFIG_I2O_PROC=y

#
# Network device support
#
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
CONFIG_BONDING=m
# CONFIG_EQUALIZER is not set
CONFIG_TUN=m

#
# ARCnet devices
#
# CONFIG_ARCNET is not set

#
# PHY device support
#
CONFIG_PHYLIB=y

#
# MII PHY device drivers
#
CONFIG_MARVELL_PHY=y
CONFIG_DAVICOM_PHY=y
CONFIG_QSEMI_PHY=y
CONFIG_LXT_PHY=y
CONFIG_CICADA_PHY=y
CONFIG_VITESSE_PHY=y
CONFIG_SMSC_PHY=y

#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
CONFIG_MII=m
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
# CONFIG_CASSINI is not set
# CONFIG_NET_VENDOR_3COM is not set

#
# Tulip family network device support
#
# CONFIG_NET_TULIP is not set
# CONFIG_HP100 is not set
CONFIG_NET_PCI=y
# CONFIG_PCNET32 is not set
# CONFIG_AMD8111_ETH is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_B44 is not set
CONFIG_FORCEDETH=y
# CONFIG_DGRS is not set
# CONFIG_EEPRO100 is not set
# CONFIG_E100 is not set
# CONFIG_FEALNX is not set
# CONFIG_NATSEMI is not set
# CONFIG_NE2K_PCI is not set
# CONFIG_8139CP is not set
# CONFIG_8139TOO is not set
# CONFIG_SIS900 is not set
# CONFIG_EPIC100 is not set
# CONFIG_SUNDANCE is not set
# CONFIG_VIA_RHINE is not set
# CONFIG_NET_POCKET is not set

#
# Ethernet (1000 Mbit)
#
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
# CONFIG_E1000 is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SIS190 is not set
# CONFIG_SKGE is not set
# CONFIG_SKY2 is not set
# CONFIG_SK98LIN is not set
# CONFIG_VIA_VELOCITY is not set
# CONFIG_TIGON3 is not set
# CONFIG_BNX2 is not set

#
# Ethernet (10000 Mbit)
#
# CONFIG_CHELSIO_T1 is not set
# CONFIG_IXGB is not set
# CONFIG_S2IO is not set
# CONFIG_MYRI10GE is not set

#
# Token Ring devices
#
# CONFIG_TR is not set

#
# Wireless LAN (non-hamradio)
#
# CONFIG_NET_RADIO is not set

#
# Wan interfaces
#
# CONFIG_WAN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PLIP is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_NET_FC is not set
# CONFIG_SHAPER is not set
CONFIG_NETCONSOLE=m
CONFIG_NETPOLL=y
# CONFIG_NETPOLL_RX is not set
# CONFIG_NETPOLL_TRAP is not set
CONFIG_NET_POLL_CONTROLLER=y

#
# ISDN subsystem
#
# CONFIG_ISDN is not set

#
# Telephony Support
#
# CONFIG_PHONE is not set

#
# Input device support
#
CONFIG_INPUT=y

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=y
# CONFIG_INPUT_TSDEV is not set
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_INPUT_MOUSE is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
# CONFIG_SERIO_SERPORT is not set
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PARKBD is not set
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
# CONFIG_GAMEPORT is not set

#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
# CONFIG_SERIAL_NONSTANDARD is not set

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
# CONFIG_SERIAL_8250_MANY_PORTS is not set
# CONFIG_SERIAL_8250_SHARE_IRQ is not set
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
# CONFIG_SERIAL_8250_RSA is not set

#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_JSM is not set
CONFIG_UNIX98_PTYS=y
# CONFIG_LEGACY_PTYS is not set
CONFIG_PRINTER=y
# CONFIG_LP_CONSOLE is not set
# CONFIG_PPDEV is not set
# CONFIG_TIPAR is not set

#
# IPMI
#
# CONFIG_IPMI_HANDLER is not set

#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
CONFIG_HW_RANDOM=y
CONFIG_HW_RANDOM_INTEL=y
CONFIG_HW_RANDOM_AMD=y
# CONFIG_HW_RANDOM_GEODE is not set
# CONFIG_NVRAM is not set
CONFIG_RTC=y
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set

#
# Ftape, the floppy tape device driver
#
CONFIG_AGP=y
CONFIG_AGP_AMD64=y
# CONFIG_AGP_INTEL is not set
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_VIA is not set
# CONFIG_DRM is not set
# CONFIG_MWAVE is not set
# CONFIG_PC8736x_GPIO is not set
# CONFIG_RAW_DRIVER is not set
CONFIG_HPET=y
# CONFIG_HPET_RTC_IRQ is not set
CONFIG_HPET_MMAP=y
# CONFIG_HANGCHECK_TIMER is not set

#
# TPM devices
#
# CONFIG_TCG_TPM is not set
# CONFIG_TELCLOCK is not set

#
# I2C support
#
# CONFIG_I2C is not set

#
# SPI support
#
# CONFIG_SPI is not set
# CONFIG_SPI_MASTER is not set

#
# Dallas's 1-wire bus
#

#
# Hardware Monitoring support
#
# CONFIG_HWMON is not set
# CONFIG_HWMON_VID is not set

#
# Misc devices
#
# CONFIG_IBM_ASM is not set

#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set
CONFIG_VIDEO_V4L2=y

#
# Digital Video Broadcasting Devices
#
# CONFIG_DVB is not set
CONFIG_USB_DABUSB=m

#
# Graphics support
#
CONFIG_FIRMWARE_EDID=y
# CONFIG_FB is not set

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
# CONFIG_VGACON_SOFT_SCROLLBACK is not set
# CONFIG_VIDEO_SELECT is not set
CONFIG_DUMMY_CONSOLE=y
CONFIG_FONT_8x16=y
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_BACKLIGHT_CLASS_DEVICE=m

#
# Sound
#
CONFIG_SOUND=y

#
# Advanced Linux Sound Architecture
#
CONFIG_SND=y
CONFIG_SND_TIMER=y
CONFIG_SND_PCM=m
CONFIG_SND_RAWMIDI=m
CONFIG_SND_SEQUENCER=y
# CONFIG_SND_SEQ_DUMMY is not set
# CONFIG_SND_MIXER_OSS is not set
# CONFIG_SND_PCM_OSS is not set
# CONFIG_SND_SEQUENCER_OSS is not set
CONFIG_SND_RTCTIMER=y
CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y
# CONFIG_SND_DYNAMIC_MINORS is not set
# CONFIG_SND_SUPPORT_OLD_API is not set
# CONFIG_SND_VERBOSE_PROCFS is not set
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set

#
# Generic devices
#
CONFIG_SND_AC97_CODEC=m
CONFIG_SND_AC97_BUS=m
# CONFIG_SND_DUMMY is not set
# CONFIG_SND_VIRMIDI is not set
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_MPU401 is not set

#
# PCI devices
#
# CONFIG_SND_AD1889 is not set
# CONFIG_SND_ALS300 is not set
# CONFIG_SND_ALS4000 is not set
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
CONFIG_SND_CA0106=m
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_EMU10K1 is not set
# CONFIG_SND_EMU10K1X is not set
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_FM801 is not set
# CONFIG_SND_HDA_INTEL is not set
# CONFIG_SND_HDSP is not set
# CONFIG_SND_HDSPM is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
# CONFIG_SND_INTEL8X0 is not set
# CONFIG_SND_INTEL8X0M is not set
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_MIXART is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_PCXHR is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VIA82XX_MODEM is not set
# CONFIG_SND_VX222 is not set
# CONFIG_SND_YMFPCI is not set

#
# USB devices
#
# CONFIG_SND_USB_AUDIO is not set
# CONFIG_SND_USB_USX2Y is not set

#
# Open Sound System
#
# CONFIG_SOUND_PRIME is not set

#
# USB support
#
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB=y
# CONFIG_USB_DEBUG is not set

#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
# CONFIG_USB_BANDWIDTH is not set
# CONFIG_USB_DYNAMIC_MINORS is not set
CONFIG_USB_SUSPEND=y
# CONFIG_USB_OTG is not set

#
# USB Host Controller Drivers
#
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_SPLIT_ISO=y
# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
CONFIG_USB_EHCI_TT_NEWSCHED=y
CONFIG_USB_ISP116X_HCD=m
CONFIG_USB_OHCI_HCD=y
# CONFIG_USB_OHCI_BIG_ENDIAN is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_UHCI_HCD=y
CONFIG_USB_SL811_HCD=m

#
# USB Device Class drivers
#
CONFIG_USB_ACM=m
CONFIG_USB_PRINTER=m

#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
#

#
# may also be needed; see USB_STORAGE Help for more information
#
CONFIG_USB_STORAGE=y
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set
# CONFIG_USB_STORAGE_DPCM is not set
# CONFIG_USB_STORAGE_USBAT is not set
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set
# CONFIG_USB_STORAGE_ALAUDA is not set
# CONFIG_USB_LIBUSUAL is not set

#
# USB Input Devices
#
CONFIG_USB_HID=y
CONFIG_USB_HIDINPUT=y
# CONFIG_USB_HIDINPUT_POWERBOOK is not set
# CONFIG_HID_FF is not set
CONFIG_USB_HIDDEV=y
CONFIG_USB_AIPTEK=m
CONFIG_USB_WACOM=m
CONFIG_USB_ACECAD=m
CONFIG_USB_KBTAB=m
CONFIG_USB_POWERMATE=m
CONFIG_USB_TOUCHSCREEN=m
CONFIG_USB_TOUCHSCREEN_EGALAX=y
CONFIG_USB_TOUCHSCREEN_PANJIT=y
CONFIG_USB_TOUCHSCREEN_3M=y
CONFIG_USB_TOUCHSCREEN_ITM=y
CONFIG_USB_YEALINK=m
CONFIG_USB_XPAD=m
CONFIG_USB_ATI_REMOTE=m
CONFIG_USB_ATI_REMOTE2=m
CONFIG_USB_KEYSPAN_REMOTE=m
CONFIG_USB_APPLETOUCH=m

#
# USB Imaging devices
#
CONFIG_USB_MDC800=m
CONFIG_USB_MICROTEK=m

#
# USB Network Adapters
#
CONFIG_USB_CATC=m
CONFIG_USB_KAWETH=m
CONFIG_USB_PEGASUS=m
CONFIG_USB_RTL8150=m
CONFIG_USB_USBNET=m
CONFIG_USB_NET_AX8817X=m
CONFIG_USB_NET_CDCETHER=m
CONFIG_USB_NET_GL620A=m
CONFIG_USB_NET_NET1080=m
CONFIG_USB_NET_PLUSB=m
CONFIG_USB_NET_RNDIS_HOST=m
CONFIG_USB_NET_CDC_SUBSET=m
CONFIG_USB_ALI_M5632=y
CONFIG_USB_AN2720=y
CONFIG_USB_BELKIN=y
CONFIG_USB_ARMLINUX=y
CONFIG_USB_EPSON2888=y
CONFIG_USB_NET_ZAURUS=m
CONFIG_USB_MON=y

#
# USB port drivers
#
CONFIG_USB_USS720=m

#
# USB Serial Converter support
#
# CONFIG_USB_SERIAL is not set

#
# USB Miscellaneous drivers
#
CONFIG_USB_EMI62=m
CONFIG_USB_EMI26=m
CONFIG_USB_AUERSWALD=m
CONFIG_USB_RIO500=m
CONFIG_USB_LEGOTOWER=m
CONFIG_USB_LCD=m
CONFIG_USB_LED=m
CONFIG_USB_CYPRESS_CY7C63=m
CONFIG_USB_CYTHERM=m
CONFIG_USB_PHIDGETKIT=m
CONFIG_USB_PHIDGETSERVO=m
CONFIG_USB_IDMOUSE=m
CONFIG_USB_APPLEDISPLAY=m
CONFIG_USB_SISUSBVGA=m
CONFIG_USB_SISUSBVGA_CON=y
CONFIG_USB_LD=m
# CONFIG_USB_TEST is not set

#
# USB DSL modem support
#

#
# USB Gadget Support
#
CONFIG_USB_GADGET=y
# CONFIG_USB_GADGET_DEBUG_FILES is not set
CONFIG_USB_GADGET_SELECTED=y
CONFIG_USB_GADGET_NET2280=y
CONFIG_USB_NET2280=y
# CONFIG_USB_GADGET_PXA2XX is not set
# CONFIG_USB_GADGET_GOKU is not set
# CONFIG_USB_GADGET_LH7A40X is not set
# CONFIG_USB_GADGET_OMAP is not set
# CONFIG_USB_GADGET_AT91 is not set
# CONFIG_USB_GADGET_DUMMY_HCD is not set
CONFIG_USB_GADGET_DUALSPEED=y
CONFIG_USB_ZERO=m
CONFIG_USB_ETH=m
CONFIG_USB_ETH_RNDIS=y
CONFIG_USB_GADGETFS=m
CONFIG_USB_FILE_STORAGE=m
CONFIG_USB_FILE_STORAGE_TEST=y
CONFIG_USB_G_SERIAL=m

#
# MMC/SD Card support
#
# CONFIG_MMC is not set

#
# LED devices
#
# CONFIG_NEW_LEDS is not set

#
# LED drivers
#

#
# LED Triggers
#

#
# InfiniBand support
#
# CONFIG_INFINIBAND is not set
# CONFIG_IPATH_CORE is not set

#
# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
#
# CONFIG_EDAC is not set

#
# Real Time Clock
#
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"

#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
CONFIG_RTC_INTF_DEV_UIE_EMUL=y

#
# RTC drivers
#
CONFIG_RTC_DRV_DS1553=y
CONFIG_RTC_DRV_DS1742=y
CONFIG_RTC_DRV_M48T86=y
CONFIG_RTC_DRV_TEST=y
CONFIG_RTC_DRV_V3020=y

#
# DMA Engine support
#
CONFIG_DMA_ENGINE=y

#
# DMA Clients
#
CONFIG_NET_DMA=y

#
# DMA Devices
#
CONFIG_INTEL_IOATDMA=y

#
# Firmware Drivers
#
# CONFIG_EDD is not set
# CONFIG_DELL_RBU is not set
# CONFIG_DCDBAS is not set

#
# File systems
#
CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
# CONFIG_EXT2_FS_POSIX_ACL is not set
# CONFIG_EXT2_FS_SECURITY is not set
# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=m
CONFIG_EXT3_FS_XATTR=y
# CONFIG_EXT3_FS_POSIX_ACL is not set
# CONFIG_EXT3_FS_SECURITY is not set
CONFIG_JBD=m
# CONFIG_JBD_DEBUG is not set
CONFIG_FS_MBCACHE=y
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
# CONFIG_FS_POSIX_ACL is not set
CONFIG_XFS_FS=y
# CONFIG_XFS_QUOTA is not set
# CONFIG_XFS_SECURITY is not set
# CONFIG_XFS_POSIX_ACL is not set
# CONFIG_XFS_RT is not set
# CONFIG_OCFS2_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_ROMFS_FS is not set
CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y
# CONFIG_QUOTA is not set
CONFIG_DNOTIFY=y
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
CONFIG_FUSE_FS=y

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
# CONFIG_ZISOFS is not set
CONFIG_UDF_FS=m
CONFIG_UDF_NLS=y

#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
# CONFIG_NTFS_FS is not set

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y
# CONFIG_CONFIGFS_FS is not set

#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_CRAMFS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set

#
# Network File Systems
#
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
# CONFIG_NFS_V3_ACL is not set
# CONFIG_NFS_V4 is not set
# CONFIG_NFS_DIRECTIO is not set
# CONFIG_NFSD is not set
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=y
# CONFIG_RPCSEC_GSS_KRB5 is not set
# CONFIG_RPCSEC_GSS_SPKM3 is not set
# CONFIG_SMB_FS is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
# CONFIG_9P_FS is not set

#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y

#
# Native Language Support
#
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=y
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
# CONFIG_NLS_ISO8859_15 is not set
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
CONFIG_NLS_UTF8=y

#
# Instrumentation Support
#
# CONFIG_PROFILING is not set
# CONFIG_KPROBES is not set

#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
# CONFIG_PRINTK_TIME is not set
CONFIG_MAGIC_SYSRQ=y
# CONFIG_UNUSED_SYMBOLS is not set
# CONFIG_DEBUG_KERNEL is not set
CONFIG_LOG_BUF_SHIFT=15
# CONFIG_DEBUG_FS is not set
# CONFIG_UNWIND_INFO is not set

#
# Security options
#
# CONFIG_KEYS is not set
# CONFIG_SECURITY is not set

#
# Cryptographic options
#
CONFIG_CRYPTO=y
# CONFIG_CRYPTO_HMAC is not set
# CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_MD4 is not set
# CONFIG_CRYPTO_MD5 is not set
# CONFIG_CRYPTO_SHA1 is not set
# CONFIG_CRYPTO_SHA256 is not set
# CONFIG_CRYPTO_SHA512 is not set
# CONFIG_CRYPTO_WP512 is not set
# CONFIG_CRYPTO_TGR192 is not set
# CONFIG_CRYPTO_DES is not set
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_TWOFISH is not set
# CONFIG_CRYPTO_SERPENT is not set
# CONFIG_CRYPTO_AES is not set
# CONFIG_CRYPTO_AES_X86_64 is not set
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
# CONFIG_CRYPTO_TEA is not set
# CONFIG_CRYPTO_ARC4 is not set
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_ANUBIS is not set
# CONFIG_CRYPTO_DEFLATE is not set
# CONFIG_CRYPTO_MICHAEL_MIC is not set
# CONFIG_CRYPTO_CRC32C is not set
# CONFIG_CRYPTO_TEST is not set

#
# Hardware crypto devices
#

#
# Library routines
#
# CONFIG_CRC_CCITT is not set
# CONFIG_CRC16 is not set
CONFIG_CRC32=y
# CONFIG_LIBCRC32C is not set
CONFIG_PLIST=y

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

* Re: Linux v2.6.18-rc3
  2006-08-03 15:58 ` Linux v2.6.18-rc3 Avuton Olrich
@ 2006-08-03 16:40   ` Adrian Bunk
  0 siblings, 0 replies; 27+ messages in thread
From: Adrian Bunk @ 2006-08-03 16:40 UTC (permalink / raw)
  To: Avuton Olrich; +Cc: Linus Torvalds, Linux Kernel Mailing List, Antonino Daplas

On Thu, Aug 03, 2006 at 08:58:57AM -0700, Avuton Olrich wrote:
> On 7/29/06, Linus Torvalds <torvalds@osdl.org> wrote:
> >
> >Ok, this missed a week (it should really have been -rc4, and we should
> >have had a -rc3 a week ago), but the fact is, with a lot of people at the
> >kernel summit and at OLS, it was so quiet for a week that there simply was
> >no point.
> 
> Got a warning with -rc3:
> WARNING: "fb_register_client" [drivers/video/backlight/backlight.ko] 
> undefined!
> WARNING: "fb_unregister_client" [drivers/video/backlight/backlight.ko]
> undefined!
> 
> I'm not sure who the maintainer is. I don't really need it, just
> wanted someone to be aware. config attached.

Thanks for your report.

This issue should already be fixed in Linus' tree by commit 
256154fbc31c25a8df4d398232acfa9d4892224c.

> avuton

cu
Adrian

-- 

    Gentoo kernels are 42 times more popular than SUSE kernels among
    KLive users  (a service by SUSE contractor Andrea Arcangeli that
    gathers data about kernels from many users worldwide).

       There are three kinds of lies: Lies, Damn Lies, and Statistics.
                                                    Benjamin Disraeli


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

end of thread, other threads:[~2006-08-03 16:40 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-07-30  6:27 Linux v2.6.18-rc3 Linus Torvalds
2006-07-30  8:30 ` Russell King
2006-07-31  8:02   ` Junio C Hamano
2006-07-31  4:13 ` Jesse Brandeburg
2006-07-31  4:27   ` Andrew Morton
2006-07-31 14:54     ` Alan Stern
2006-07-31 15:11       ` Andrew Morton
2006-07-31 15:59         ` Alan Stern
2006-07-31 20:34         ` Alan Stern
2006-08-02  4:31           ` Jesse Brandeburg
2006-08-02  4:59             ` Andrew Morton
2006-08-02 19:57               ` Jesse Brandeburg
2006-08-02 20:16                 ` Rafael J. Wysocki
2006-08-02 20:23                   ` Russell King
2006-08-02 20:26                     ` Rafael J. Wysocki
2006-08-02 20:32                     ` Dave Jones
2006-08-02 20:58                       ` Russell King
2006-08-02 21:01                         ` Dave Jones
2006-08-02 21:18                         ` Linus Torvalds
2006-08-02 21:38                           ` Russell King
2006-08-02 22:04                             ` Linus Torvalds
2006-08-02 22:05                             ` Russell King
2006-08-02 20:38                 ` [PATCH 1/2] SRCU: report out-of-memory errors Alan Stern
2006-08-02 20:57                   ` Paul E. McKenney
2006-08-02 20:38                 ` [PATCH 2/2] cpufreq: make the transition_notifier chain use SRCU Alan Stern
2006-08-03 15:58 ` Linux v2.6.18-rc3 Avuton Olrich
2006-08-03 16:40   ` Adrian Bunk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox