2.6.14 was delayed twice due to some last-minute bug-reports, some of
which ended up being false alarms (hey, I should be happy, but it was a
bit frustrating)
But hey, the delays - even when perhaps unnecessary - got us to look at
the code and fix some other bugs instead. So it's all good.
So special thanks go to Oleg Nesterov and Roland McGrath for doing some
code inspection and fixing and just making the otherwise frustrating wait
for bug resolution more productive ;^p.
Let's try the 2-week merge window thing again, I think it worked pretty
well despite the delays, and hopefully it will work even better this time
around.
The actual changes from 2.6.14-rc5 are a number of mostly one-liners, with
the ShortLog appended (full log from 2.6.13 on the normal sites together
with the release itself). The only slightly bigger ones (ie more than a
handful of lines) is a kernel parameter doc update, and the PIIX4 PCI
quirk printouts, and the cleanups/fixes for the posix cpu timers.
(In fact, according to diffstat, about half the diff is that one
documentation update, and most of that is whitespace cleanups)
Linus
----
Alan Stern:
[SCSI] Fix leak of Scsi_Cmnds
Andrew Morton:
inotify/idr leak fix
alpha: atomic dependency fix
qlogic lockup fix
export cpu_online_map
svcsock timestamp fix
Ben Dooks:
[ARM] 3026/1: S3C2410 - avoid possible overflow in pll calculations
[ARM] 3027/1: BAST - reduce NAND timings slightly
[ARM] 3028/1: S3C2410 - add DCLK mask definitions
Benjamin Herrenschmidt:
ppc64: Fix pages marked dirty abusively
ppc64: Fix wrong register mapping in mpic driver
Bjorn Helgaas:
[SERIAL] support the Exsys EX-4055 4S four-port card
Chris Wright:
typo fix in last cpufreq powernow patch
Christoph Hellwig:
[SCSI] mptsas: fix phy identifiers
Dave Airlie:
drm: another mga bug
Dave Jones:
cpufreq: fix pending powernow timer stuck condition
cpufreq: SMP fix for conservative governor
Davi Arnaut:
SELinux: handle sel_make_bools() failure in selinuxfs
David Gibson:
ppc64: Fix typo bug in iSeries hash code
Eric Moore:
mptsas: fix phy identifiers
Herbert Xu:
[DCCP]: Use skb_set_owner_w in dccp_transmit_skb when skb->sk is NULL
[DCCP]: Make dccp_write_xmit always free the packet
[DCCP]: Clear the IPCB area
[TCP] Allow len == skb->len in tcp_fragment
[NEIGH] Print stack trace in neigh_add_timer
[NEIGH] Fix add_timer race in neigh_add_timer
[NEIGH] Fix timer leak in neigh_changeaddr
[TCP]: Clear stale pred_flags when snd_wnd changes
Hugh Dickins:
Fix handling spurious page fault for hugetlb region
Ian Campbell:
[ARM] 3032/1: sparse: complains about generic_fls() prototype in asm-arm/bitops.h
Ivan Kokshaysky:
alpha: additional smp barriers
fix radeon_cp_init_ring_buffer()
James Simmons:
Return the line length via sysfs for fbdev
James...@Emulex.Com:
[SCSI] FW: for Deadlock in transport_fc
Jeff Garzik:
kill massive wireless-related log spam
Jochen Friedrich:
[TR]: Preserve RIF flag even for 2 byte RIF fields.
[LLC]: Strip RIF flag from source MAC address
Julian Anastasov:
[SK_BUFF]: ipvs_property field must be copied
Justin Chen:
[SERIAL] new hp diva console port
Karl Magnus Kolstoe:
[SCSI] 2.6.13.3; add Pioneer DRM-624x to drivers/scsi/scsi_devinfo.c
Kostik Belousov:
aio syscalls are not checked by lsm
Linus Torvalds:
Revert "Fix cpu timers exit deadlock and races"
Posix timers: limit number of timers firing at once
cardbus: limit IO windows to 256 bytes
PCI: be more verbose about resource quirks
posix cpu timers: fix timer ordering
Revert "remove false BUG_ON() from run_posix_cpu_timers()"
Revert "x86-64: Avoid unnecessary double bouncing for swiotlb"
Linux v2.6.14
Magnus Damm:
NUMA: broken per cpu pageset counters
Matt Reimer:
[ARM] 3025/1: Add I2S platform device for PXA
Mike Krufky:
Kconfig: saa7134-dvb should not select cx22702
Miklos Szeredi:
uml: fix compile failure for TT mode
NeilBrown:
md: make sure mdthreads will always respond to kthread_stop
Oleg Nesterov:
posix-timers: fix cleanup_timers() and run_posix_cpu_timers() races
posix-timers: remove false BUG_ON() from run_posix_cpu_timers()
posix-timers: exit path cleanup
posix-timers: fix posix_cpu_timer_set() vs run_posix_cpu_timers() race
Fix cpu timers expiration time
Paul Mackerras:
ppc64: Fix typo in time calculations
Pavel Machek:
[ARM] fix sharp zaurus c-3000 compile failure without CONFIG_FB_PXA
Peter Wainwright:
Fix HFS+ to free up the space when a file is deleted.
Ralf Baechle:
[AX.25]: Fix signed char bug
Randy Dunlap:
[SCSI] NCR5380: fix undefined preprocessor identifier
kernel-parameters cleanup
Roland Dreier:
ib: mthca: Always re-arm EQs in mthca_tavor_interrupt()
Roland McGrath:
Call exit_itimers from do_exit, not __exit_signal
Yet more posix-cpu-timer fixes
Russell King:
[ARM] Fix Integrator IM/PD-1 support
Salyzyn, Mark:
[SCSI] Fix aacraid regression
Stephen Smalley:
selinux: Fix NULL deref in policydb_destroy
Steven Rostedt:
[SCSI] scsi_error thread exits in TASK_INTERRUPTIBLE state.
Takashi Iwai:
ALSA: Fix Oops of suspend/resume with generic drivers
Yan Zheng:
[IPV6]: Fix refcnt of struct ip6_flowlabel
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majo...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
On Fri, 28 Oct 2005, Nigel Cunningham wrote:
>
> Could you please push the tag to kernel.org too? Thanks!
Sorry, forgot. Done,
Linus
Fix the following warning when ext3 fs is compiled without quota
support:
fs/ext3/super.c: In function `ext3_show_options':
fs/ext3/super.c:516: warning: unused variable `sbi'
Signed-off-by: Jean Delvare <kh...@linux-fr.org>
---
fs/ext3/super.c | 2 ++
1 file changed, 2 insertions(+)
--- linux-2.6.14.orig/fs/ext3/super.c 2005-10-28 18:25:56.000000000 +0200
+++ linux-2.6.14/fs/ext3/super.c 2005-10-28 18:38:36.000000000 +0200
@@ -513,7 +513,9 @@
static int ext3_show_options(struct seq_file *seq, struct vfsmount *vfs)
{
struct super_block *sb = vfs->mnt_sb;
+#ifdef CONFIG_QUOTA
struct ext3_sb_info *sbi = EXT3_SB(sb);
+#endif
if (test_opt(sb, DATA_FLAGS) == EXT3_MOUNT_JOURNAL_DATA)
seq_puts(seq, ",data=journal");
--
Jean Delvare
Well, Andi's patch here wasn't just a small optimization as the changelog
suggests. It helped EM64T boxes a great deal. Just to make sure, I
reran 2.6.14 with the attached patch and got about 45% better performance
with iozone Initial write. This was on a 2 cpu 4 thread SMP Xeon with 8G ram,
with 2 processes performing io to 4G files on a IDE drive.
Maybe it wouldn't have caused breakage on some AMD boxes if the following
additional check for swiotlb was added. Can this go into 2.6.15 please?
Thanks,
Kiran
Originally by Andi Kleen. Patch prevents the block layer from bouncing if
a hard or soft iommu is present.
Signed-off-by: Ravikiran Thirumalai <ki...@scalex86.org>
Index: linux-2.6.14/include/asm-x86_64/pci.h
===================================================================
--- linux-2.6.14.orig/include/asm-x86_64/pci.h 2005-10-27 17:02:08.000000000 -0700
+++ linux-2.6.14/include/asm-x86_64/pci.h 2005-10-27 21:42:41.000000000 -0700
@@ -51,9 +51,9 @@
* this boolean for bounce buffer decisions
*
* On AMD64 it mostly equals, but we set it to zero to tell some subsystems
- * that an IOMMU is available.
+ * that a hard or soft IOMMU is available.
*/
-#define PCI_DMA_BUS_IS_PHYS (no_iommu ? 1 : 0)
+#define PCI_DMA_BUS_IS_PHYS ((no_iommu && !swiotlb) ? 1 : 0)
/*
* x86-64 always supports DAC, but sometimes it is useful to force
First to be honest swiotlb performance is not very high on the priority list.
It will always be bad. If you care about performance you should use devices
that can address all your memory.
EM64T server boxes shouldn't have big problems with that because they usually
support AHCI for IDE, and firewire/usb2/sound is not that critical. And the
EM64T boxes with other chipsets typically don't support >4G phys because they
only support the lowerend Intel CPUs. Summit might be an exception, but those
normally only use IDE for CDROMs, which are also not a big issue.
> Just to make sure, I
> reran 2.6.14 with the attached patch and got about 45% better performance
> with iozone Initial write. This was on a 2 cpu 4 thread SMP Xeon with 8G
> ram, with 2 processes performing io to 4G files on a IDE drive.
> Maybe it wouldn't have caused breakage on some AMD boxes if the following
> additional check for swiotlb was added. Can this go into 2.6.15 please?
Not in this form no. Problem first needs to be understood fully and
then no_iommu should be set properly.
> * On AMD64 it mostly equals, but we set it to zero to tell some
> subsystems - * that an IOMMU is available.
> + * that a hard or soft IOMMU is available.
> */
> -#define PCI_DMA_BUS_IS_PHYS (no_iommu ? 1 : 0)
> +#define PCI_DMA_BUS_IS_PHYS ((no_iommu && !swiotlb) ? 1 : 0)
That is ugly and I don't like it. Need to track down the real problem
-Andi
<snip>
...
[4294691.834000] usb usb3: Product: UHCI Host Controller
[4294691.840000] usb usb3: Manufacturer: Linux 2.6.14 uhci_hcd
[4294691.847000] usb usb3: SerialNumber: 0000:00:1d.2
[4294691.880000] hub 3-0:1.0: USB hub found
[4294691.885000] hub 3-0:1.0: 2 ports detected
[4294694.855000] ACPI: PCI Interrupt 0000:00:1d.7[D] -> GSI 23 (level,
low) -> IRQ 20
[4294694.864000] ehci_hcd 0000:00:1d.7: EHCI Host Controller
[4294694.870000] ehci_hcd 0000:00:1d.7: debug port 1
</snip>
and dies. This bug is actually in there since 2.6.14-rc4 (see:
http://bugzilla.kernel.org/show_bug.cgi?id=5428) and David Brownell
supplied a patch which turned out to be useless eventually since _rebooting_
the kernel with the 'usb-handoff' (and without the patch) solved the problem.
As it turns out, it actually solves the problem only for the reboot case.
My machine still hangs on an initial boot with and without 'usb-handoff'.
.config attached.
Regards,
Boris.
Boris,
While running with 'usb-handoff' turned on, do you see something like
"EHCI early BIOS handoff failed" (in power on or reboot cases) ?
Aleks.
>
>Regards,
> Boris.
I realise swiotlb will have bad performance. But with the revert, swiotlb
is not going to be used at all!!. PCI_DMA_BUS_IS_PHYS is used by the block
subsystem to check if any kind of iommu (soft or hard) is available. If none
is present, block layer uses the ISA pool for bounce buffering bringing down
performance.
>
> EM64T server boxes shouldn't have big problems with that because they usually
> support AHCI for IDE, and firewire/usb2/sound is not that critical.
But you have to use SATA disks to use AHCI right?. IDE disks will work with
32bit dma addresses only (please correct me if I am wrong). And I belive
there are 1U racks/blades out there with IDE disks on these server boards with
more than 4G memory (I am told it saves them $$ to use IDE disks over SATA
when you deploy large numbers).
Whatever the reasons might be, IMHO, it is not correct to assume no one is
going to use 32 bit capable only devices on 64bit boxes. swiotlb code need
not have been in the kernel otherwise. This one line revert is just force
turning off swiotlb on x86_64 boxes with no option whatsover :(
> EM64T boxes with other chipsets typically don't support >4G phys because they
> only support the lowerend Intel CPUs. Summit might be an exception, but those
> normally only use IDE for CDROMs, which are also not a big issue.
>
> > Just to make sure, I
> > reran 2.6.14 with the attached patch and got about 45% better performance
> > with iozone Initial write. This was on a 2 cpu 4 thread SMP Xeon with 8G
> > ram, with 2 processes performing io to 4G files on a IDE drive.
> > Maybe it wouldn't have caused breakage on some AMD boxes if the following
> > additional check for swiotlb was added. Can this go into 2.6.15 please?
>
> Not in this form no. Problem first needs to be understood fully and
> then no_iommu should be set properly.
>
> > * On AMD64 it mostly equals, but we set it to zero to tell some
> > subsystems - * that an IOMMU is available.
> > + * that a hard or soft IOMMU is available.
> > */
> > -#define PCI_DMA_BUS_IS_PHYS (no_iommu ? 1 : 0)
> > +#define PCI_DMA_BUS_IS_PHYS ((no_iommu && !swiotlb) ? 1 : 0)
>
> That is ugly and I don't like it. Need to track down the real problem
I agree it is ugly. But it atleast shows and does what the comment says.
Is reverting a bug-fix to mask another bug (probably due to a broken bios or
user not setting the IOMMU in the bios) any cleaner? Yes it doesn't show
though ;)
Seriously, are there plans to fix the broken AMD boxes for 2.6.15? Will
swiotlb be forced off even for 2.6.15? Linus, Andrew?
Thanks,
Kiran
Regards,
Boris.
___________________________________________________________
Gesendet von Yahoo! Mail - Jetzt mit 1GB Speicher kostenlos - Hier anmelden: http://mail.yahoo.de
In current GIT kernels (2.6.14+) that patch is now merged, and
also usb-handoff is the default.
> > >As it turns out, it actually solves the problem only for the
> > >reboot case.
> > >My machine still hangs on an initial boot with and without
> > >'usb-handoff'.
Huh? That's not what you'd reported before. What changed?
You're saying that _with_ that patch, and usb-handoff, it fails?
> > While running with 'usb-handoff' turned on, do you see something like
> > "EHCI early BIOS handoff failed" (in power on or reboot cases) ?
>
> Nope, nothing of the like in the serial console log.
If the problem was IRQs getting somehow enabled after the handoff,
that patch would probably be a very useful thing. If that does
help, I'll suggest that be merged into 2.6.14.x ... it'd have been
good to merge for 2.6.14.0 but quick merges seem mostly to be a
thing of the past any more.
- Dave
To sum up, IMHO, the patch helps partially only while rebooting. Initial
boots still remain hanging so there's got to be something else that
kills the machine. maybe some IRQs or something? The thing is that not
even sysrq is functional, I don't get any BUG() traces or anything -
the hang is pretty tough. 2.6.13, in contrast, boots just fine. Hope
that helps,
Boris.
___________________________________________________________
Gesendet von Yahoo! Mail - Jetzt mit 1GB Speicher kostenlos - Hier anmelden: http://mail.yahoo.de
So you're saying your hardware doesn't act consistently.
Is there a BIOS update you can try? The failure sure seems
to be board-specific.
> ... 2.6.13, in contrast, boots just fine. Hope
> that helps,
Well that's news, and not mentioned in the bug report; in fact, you
said explicitly that it _never_ worked on earlier kernels (see your
comment #2).
This means you could use "git bisect" to point a finger at a patch that,
if it doesn't actually cause the problem, at least surfaces a latent bug
in other code. Could you please try that?
I'm starting to suspect some IRQ setup problem here; those are classically
issues in ACPI code, even when the breakage shows only with USB.
- Dave
> This means you could use "git bisect" to point a finger at a patch that,
> if it doesn't actually cause the problem, at least surfaces a latent bug
> in other code. Could you please try that?
>
> I'm starting to suspect some IRQ setup problem here; those are classically
> issues in ACPI code, even when the breakage shows only with USB.
This is superfluous, I guess, now that 2.6.14 boots.
Thanks for your help.
Regards,
Boris.
___________________________________________________________
Gesendet von Yahoo! Mail - Jetzt mit 1GB Speicher kostenlos - Hier anmelden: http://mail.yahoo.de
> I agree it is ugly. But it atleast shows and does what the comment says.
> Is reverting a bug-fix to mask another bug (probably due to a broken bios
> or user not setting the IOMMU in the bios) any cleaner? Yes it doesn't
> show though ;)
I don't believe the problem is the AMD boxes here.
Anyways, with the dma_ops patch we can probably separate it cleanly
and avoid the problem.
-Andi
> Anyways, with the dma_ops patch we can probably separate it cleanly
> and avoid the problem.
Hi Andi, Kiran, would something like:
#define PCI_DMA_BUS_IS_PHYS (mapping_ops->bus_is_phys)
do the job, where mapping_ops->bus_is_phys is set to 0 for gart and
swiotlb, and 1 for nommu?
Cheers,
Muli
--
Muli Ben-Yehuda
http://www.mulix.org | http://mulix.livejournal.com/
Similar case was posted yesterday (I realize yours is older, just missed
it the first time around), see my explanation here:
http://lkml.org/lkml/2005/11/20/119
And work-around below.
diff --git a/drivers/cdrom/cdrom.c b/drivers/cdrom/cdrom.c
index 1539603..7540d27 100644
--- a/drivers/cdrom/cdrom.c
+++ b/drivers/cdrom/cdrom.c
@@ -2089,7 +2089,7 @@ static int cdrom_read_cdda_bpc(struct cd
int lba, int nframes)
{
request_queue_t *q = cdi->disk->queue;
- struct request *rq;
+ struct request *rq = NULL;
struct bio *bio;
unsigned int len;
int nr, ret = 0;
@@ -2097,13 +2097,13 @@ static int cdrom_read_cdda_bpc(struct cd
if (!q)
return -ENXIO;
- rq = blk_get_request(q, READ, GFP_KERNEL);
- if (!rq)
- return -ENOMEM;
-
cdi->last_sense = 0;
while (nframes) {
+ rq = blk_get_request(q, READ, GFP_KERNEL);
+ if (!rq)
+ return -ENOMEM;
+
nr = nframes;
if (cdi->cdda_method == CDDA_BPC_SINGLE)
nr = 1;
@@ -2151,9 +2151,13 @@ static int cdrom_read_cdda_bpc(struct cd
nframes -= nr;
lba += nr;
ubuf += len;
+ blk_put_request(rq);
+ rq = NULL;
}
- blk_put_request(rq);
+ if (rq)
+ blk_put_request(rq);
+
return ret;
}
--
Jens Axboe
Probably just killing the 'as' printk is a lot better for -stable.
Signed-off-by: Jens Axboe <ax...@suse.de>
--- linux-2.6.14/drivers/block/as-iosched.c~ 2005-11-21 16:38:36.000000000 +0100
+++ linux-2.6.14/drivers/block/as-iosched.c 2005-11-21 16:39:07.000000000 +0100
@@ -1513,13 +1513,8 @@
struct as_data *ad = q->elevator->elevator_data;
struct as_rq *arq = RQ_DATA(rq);
- if (arq) {
- if (arq->state != AS_RQ_PRESCHED) {
- printk("arq->state: %d\n", arq->state);
- WARN_ON(1);
- }
+ if (arq)
arq->state = AS_RQ_NEW;
- }
/* barriers must flush the reorder queue */
if (unlikely(rq->flags & (REQ_SOFTBARRIER | REQ_HARDBARRIER)
Thank you very much, Jens.
Is this patch going to -stable ?
Brice Goglin