* [LARTC] CBQ broken in RedHat 8.0?
From: Neil Aggarwal @ 2002-10-26 23:53 UTC (permalink / raw)
To: lartc
Hello all:
Is CBQ broken in RedHat 8.0?
It seems that my CBQ is not using priorities.
I have this setup:
Internet <-> DSL Modem <-> Linux router <-> IP Switch <-> Laptop
The Linux computer is running a fresh, unmodified installation
of RedHat 8.0?
On the Linux computer, eth0 points to the DSL modem
and eth1 points to my internal network.
The Linux compter runs DHCP and masquerade.
I want to make sure that ssh traffic is prioritied above
all other traffic.
After reading the HOWTO and the wondershaper code, I set-up the following
tc rules on the Linux computer:
# The downlink speed, in kilobits
DOWNLINK00
# The uplink speed, in kilobits
UPLINK\x100
# The device to control
DEV=eth0
# Install the root CBQ at 1:0
tc qdisc add dev $DEV root handle 1: cbq avpkt 1000 bandwidth 10mbit
# Add a cbq at 1:1 to limit the total bandwidth to the uplink speed
tc class add dev $DEV parent 1: classid 1:1 cbq rate ${UPLINK}kbit allot
1500 prio 1 bounded isolated
# Create a queue for the high priority traffic
tc class add dev $DEV parent 1:1 classid 1:10 cbq rate ${UPLINK}kbit allot
1600 prio 1 avpkt 1000 bounded isolated
tc qdisc add dev $DEV parent 1:10 handle 10: sfq perturb 10
# Create a queue for the low priority traffic
tc class add dev $DEV parent 1:1 classid 1:20 cbq rate $[9*$UPLINK/10]kbit
allot 1600 prio 2 avpkt 1000 bounded isolated
tc qdisc add dev $DEV parent 1:20 handle 20: sfq perturb 10
# Filter ssh traffic into the high prioirty queue
tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 match ip sport 22
0xffff flowid 1:10
tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 match ip dport 22
0xffff flowid 1:10
# Filter the rest of the traffic into the low priority queue, policing the
rate and dropping any overflow packets
tc filter add dev $DEV parent 1:0 protocol ip prio 13 u32 match ip dst
0.0.0.0/0 police rate $[9*$UPLINK/10]kbit burst 10k drop flowid 1:20
# Police the incoming traffic to the rate we specified
tc qdisc add dev $DEV handle ffff: ingress
tc filter add dev $DEV parent ffff: protocol ip prio 50 u32 match ip src
0.0.0.0/0 police rate ${DOWNLINK}kbit burst 10k drop flowid :1
What I am expecting from these rules is that the ssh traffic will take
complete priority over
anything else. Other traffic will only get what is left over.
To test this, I set-up a large FTP upload from my laptop to a machine over
the Internet
and then set up and ssh transfer of a large file to another machine.
After letting things settle down, I ran my traffic control script.
After a while, I ran this command to see the results:
tc -s qdisc ls dev eth0
Here is what I got:
qdisc ingress ffff: ----------------
Sent 514549 bytes 9924 pkts (dropped 0, overlimits 0)
qdisc sfq 20: quantum 1514b perturb 10sec
Sent 10522893 bytes 7296 pkts (dropped 0, overlimits 0)
backlog 5p
qdisc sfq 10: quantum 1514b perturb 10sec
Sent 7648142 bytes 5449 pkts (dropped 0, overlimits 0)
qdisc cbq 1: rate 10Mbit (bounded,isolated) prio no-transmit
Sent 18173599 bytes 12771 pkts (dropped 120, overlimits 18412)
backlog 5p
borrowed 0 overactions 0 avgidle 624 undertime 0
The low priority traffic is getting more traffic sent thru.
This is not what I wanted.
Any ideas why this is happening?
Thanks,
Neil.
--
Neil Aggarwal
JAMM Consulting, Inc. (972) 612-6056, http://www.JAMMConsulting.com
Custom Internet Development Websites, Ecommerce, Java, databases
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
^ permalink raw reply
* Re: PATCH: Support PCI device sorting (Re: PCI device order problem)
From: Jeff Garzik @ 2002-10-26 23:57 UTC (permalink / raw)
To: H. J. Lu; +Cc: Alan Cox, Linux Kernel Mailing List
In-Reply-To: <20021026165315.A15269@lucon.org>
s/__devinit/__init/ and the implementation looks ok to me
^ permalink raw reply
* Linux 2.5.44-ac4
From: Alan Cox @ 2002-10-26 23:57 UTC (permalink / raw)
To: linux-kernel
** I strongly recommend saying N to IDE TCQ options otherwise this
should hopefully build and run happily.
Most stuff is now back running at least as well as in 2.5.42-ac (u14f being
the exception). This fixes a load more small things and resynchronizes the
mmuless Linux stuff. That is now pretty close (IMHO) to mergable.
Linux 2.5.44-ac4
o Add 2.4.20-ac style /proc for ht info (Robert Love)
o Fix bd_blocksize setting case (Hugh Dickins)
o PCI bus setup now __devinit for hotplug (Ivan Kokshaysky)
o make xconfig should work again (Alex Riesen)
o Merge uclinux resync. This is now way cleaner (Christoph Hellwig)
o Update znet driver (Marc Zyngier)
o More i2o_scsi tidying (Christoph Hellwig)
o Fix a leak in the device mapper (Joe Thornber)
o Fix missed section name change (Peter Chubb)
o Fix a bug in the APM update, add comments (me)
o Merge block layer changes (Jens Axboe)
| Should fix eject panic
o Fix warnings in baycom_epp (me)
o Fix warnings in fmvj18x, and timer_sync bug (me)
o Fix sim710 warnings (me)
o Fix pas16/t128 warnings (me)
o Allow both mmio and pio g_NCR5380 builds at once(me)
o Remove unused code from axnet_cs (me)
o Fix warning in pc300 driver (me)
o Clean up qlogicfas drivers somewhat (me)
o Fix megaraid build for pci bios changes (me)
o Fix cpu count weird reporting (Dave Jones)
o Clean up capabilities printing (Dave Jones)
o Silence mtrr debugging printk (Dave Jones)
o Split machine check per processor (Dave Jones)
o Update mpt fusion for new slave_attach handling (Peter Chubb)
o Initial speedstep testing for VIA chipset boards(Bob Renwick)
Linux 2.5.44-ac3
o Update the cciss driver (Stephen Cameron)
o Fix seagate st02 unload (me)
o Fix missing \n in i810 driver (me)
o Update Ninja SCSI PCMCIA driver (Yokota Hiroshi)
o Clean up and kill off scsi_merge (Christoph Hellwig)
o Remove niceness magic numbers (Randy Dunlap)
o Update EDD support (Matt Domsch)
o Update voyager support for IRQ stacks (James Bottomley)
- Revert do_mounts change
o Better fix for raw.c headers (Bjoern Zeeb)
o Fix ehci enumeration breakage (David Brownell)
o Update adv7175 to new style i2c (Frank Davis)
o PnP updates (Adam Belay)
o PnP conversion of CS423x to new code (Adam Belay)
o Fix APM BUG() on SMP boxes, port forward 2.4 (me)
changes
o Update other Digi URLS (me)
Linux 2.5.44-ac2
o Merge interrupt stack support for x86 (David Hansen,
Ben LaHaise)
o Update ACPI to the latest released patch (Andrew Grover,
| Should fix the compaq problems Ducrot Bruno, Pavel Machek)
o Kill old STATIC define in do_mounts (Frank Davis)
o Port NCR5380 to the latest kernel changes (me)
o Update Digi EPCA maintainer info (Scott Kilau)
o Update LVM2 device mapper (Joe Thornber, Christoph Hellwig)
o EATA updates (Dario Ballabio)
o Fix remaining depca ioctl bug (Peter Denison)
o Make cifs error invalid addresses nicely (Zwane Mwaikambo)
o Fix cifs oops on kmalloc failure (Zwane Mwaikambo)
o Propogate return value on cifs connect (Zwane Mwaikambo)
o cifs locking changes (Zwane Mwaikambo)
o Fix cifs oops with invalid unc (Zwane Mwaikambo)
o Resync voyager architecture support (James Bottomley)
o Spot synaptics touchpad so we dont confuse it (David Woodhouse)
o Quieten bttv debugging a bit (Bongani)
o Rip out lots of the left over pcibios_ stuff (Greg Kroah-Hartmann)
o Fix reiserfs build (Steven Cole)
o Further cpia driver updates (Duncan Haldane)
o Kill tqueue.h in various other files (Martin Waitz)
o Update IRDA maintainer data (Pawel Kot)
o Add in missing read_barrier_depends for sparc (Dipankar Sarma)
o Make afs compile with older gcc (Jan Marek)
o 2.5.44 UML updates (Jeff Dike)
o Fix kmap bugs in fs/exec.c for upgrowing (Marcus Alanen)
stack
o Add ethtool support to ewrk3 (Adam Kropelin)
o Fix up cli/sti use in ewrk3 (Denis Vlasenko)
o ewrk3 ioctl fixes (Adam Kropelin)
o Cleanup ewrk3 signature code (Adam Kropelin)
o Fix task state reporting (Daniel Jacobowitz)
o Handle casio fiva weirdness with APM extents (Hiroshi Miura)
o Add Geode target that defines OOSTORE (Hiroshi Miura, me)
o Remove dodgy_tsc handling code (Hiroshi Miura)
o Update problem PIT handling on 5510/5520 (Hiroshi Miura)
Cyrix devices, re-enable TSC on it
o Use outb_p on CTC load up (Hiroshi Miura)
o Mark ide floppies as removable devices (Paul Bristow)
o Fix sym53c416 IRQ release problem (me)
o Update sym53c416 to new EH code (me)
o Fix subtractive decoding bridge handling (Ivan Kokshaysky)
o Fix wan driver build problems (Krzysztof Halasa)
o Allow for >32 signals on some platforms (Matthew Wilcox)
Linux 2.5.44-ac1
- Resync with Linus 2.5.43/44
o Fix net/ipv4/raw.c build problem (me)
o Fix bluetooth pcmcia builds (me)
o Fix dm includes (me)
| I've not merged any of the DM updates yet
o Fix 3c515, fealnx printk type warnings (me)
o Fix multi-line string literal in olympic driver (me)
o Fix printk type warnings in tulip (me)
o Document core naming sysctl (Randy Dunlap)
o Fix hd_struct size/offset bugs (Mark Lord)
o Further sym53c416 updates (Bjoern Zeeb)
o Fix ramdisk cache flush (Paul Mundt)
o Fix pnp config.in for make Xconfig (Roman Zippel)
o Correct ncpfs marking of executables (Petr Vandrovec)
o Small matroxfb fixes (Petr Vandrovec)
o Small cleanups for i2o_block so Al can clean (Al Viro)
up the core block code
o Fix hang at shutdown with offlined disk (Mike Anderson)
o Fix error reporting on scsi offline (Mike Anderson)
o Fix hang on power off with scsi (Mike Anderson)
o Fix typo in pnp.h (Martin Dahl)
o Remove tqueue.h from cycx_main (Adrian Bunk)
o Fix vlsi irda compile (Adrian Bunk)
o Fix hamradio makefile breakage (Adrian Bunk)
o Fix inia100 build (John Fort)
o Fix AX.25 build for ip_proc (Dave Miller)
o Fix aic7xxx Makefile (Inaky Perez-Gonzalez)
o Fix vga16fb (Ben Pfaff)
o Optimise spinlock to Intel recommendation (Manfred Spraul)
o Fix pipe wakeup bug (Manfred Spraul)
o Fix semop 32bit pid handling (Manfred Spraul)
o Fix qlogic1280 build (Jens Axboe)
o Merge BeOS fs (already in 2.4) (Will Dyson,
Sergey Kostyliov)
o Clean up wan ioctl structures (Krzysztof Halasa)
o Some trident audio takes a long time to (Kenneth Sumrall)
come up (Hitachi webpad)
o Add DVB api and core (Holger Waechtler)
o Add one DVB driver so people can see how it (Holger Waechtler)
all fits together
| This wants further review. There are known things to do yet
| but its important to get the stuff in since Digital TV is
| becoming the norm in western europe.
o Print something clueful if menuconfig explodes (Russell King)
o Move BUG() into asm/bug.h (Russell King)
o Report errors unzipping ramdisks (Russell King)
o Support extra weird numeric key on ARM boxes (Russell King)
o Fix missing devexit_p in tulip (Andrey Panin)
o Kill sr_host (Patrick Mansfield)
o S/390 Makefile and Config updates (Martin Scwidefsky)
o S/390 user access fixes (Martin Scwidefsky)
o 31bit emulation fixes for S/390 (Martin Scwidefsky)
o Make S/390 possible cpu map volatile (Martin Scwidefsky)
o Update dasd drivers for S/390 series (Martin Scwidefsky)
o Update ver_linux (Steven Cole)
o Fix blk ioctls on aacraid (Mark Haverkamp)
o Fix SiS IDE build without procfs (Lionel Bouton)
o i386 verify write fixes (Brian Gerst)
o iphase ATM updates (Francois Romieu)
o Update i810-tco to C99 initializers (Wim Van Sebroeck)
o IDE updates for ARM platform (Russell King)
o Fix megaraid build (Mike Anderson)
| This may change the device order for some folks but it works
| at least
o Fix in2000 to handle scsi host list change (me)
o Fix ncr53c8xx build (me)
o Fix atp870u build (me)
o Fix nsp32 build (me)
o Fix firewire prototypes (me)
Linux 2.5.42-ac1
Merge with Linus 2.5.42
o Merge the LVM2 device mapper (Joe Thornber)
- Drop uid16 S/390 bits pending resolution (me)
* Fix iphase build (Adrian Bunk)
* Fix UML build (Kai Germaschewski)
* Fix cpufreq compile (Adrian Bunk)
o Move dead verify_area code from sh port (Brian Gerst)
* Fix missing AIO symbols (Ben LaHaise)
o Fix ATM makefile (Sam Ravnborg)
* Fix esp build (Andres Salmon)
* Fix cifs/jfs symbol name collision (Steve F)
* Update CPIA to match 2.4 tree (Duncan Haldane)
* Fix cifs 64bit and cifs scsi name collision (Steve F)
* Fix a compile of missing sysrq updates (James Simmons)
* Fix sparc timer build (Pete Zaitcev)
* Fix comile without networking (Miles Bader)
* Remove some left over _ret functions (SL Baur)
* Update syncppp code (Paul Fulghum)
* Fix n_hdlc leak (Paul Fulghum)
* Make synclink_cs build again (Paul Fulghum)
* Make synclinkmp build again (Paul Fulghum)
* Make synclink build again (Paul Fulghum)
o Fix NFS symbols for NFS as a module (Olaf Dietsche)
* Fix problem with scsidriver docbook (Joaquim Fellmann)
* Kill dead suspend code in IDE (Pavel Machek)
* Kill unreferenced workqueue define (Pavel Machek)
* Fix swsuspend with discontiguous memory bits (Pavel Machek)
* Fix cpqfc ioctl sense buffer handling (Francis Wiran)
* Sym53c416 from cli to real locking (Bjoern Zeeb)
* Fix a case where sd uses freed memory (Patrick Mansfield)
o Fix p4-clockmod on HT processors (Dominic Brodowski)
o CPUfreq interface update (Dominic Brodowski)
* Fix eicon build (me)
* Restore disconnect field in devices for (me)
driver use
Linux 2.5.41-ac2
* Fix jffs/jffs2 properly this time (bpbb) (me)
* Fix jffs2 for workqueues (me)
* Next set of i2o_scsi update work (me)
* Do the 2.5 checkup pass on the 3c501 driver (me)
o Add missing exports for file system modules (Nikita Danilov)
on UML
* Fix ipx proc permission bogosity (Arnaldo Carvalho de Melo)
* Switch appletalk spinlocks to rwlocks (Arnaldo Carvalho de Melo)
* Correct sys_getpid docs (Robert Love)
* SubmittingPatches indent fix (John Levon)
* cciss, cpqarray. rd. hd fixes (Al Viro)
* Fix cpia with gcc 3.2 (Randy Dunlap)
* Use C99 structure initializers in IDE (Art Haas)
* Use C99 structure initializers in HFS (Art Haas)
* Update DMI scanner (Jean Delvare)
* Fix bogus types in ide-cd.h (Skip Ford)
* ns83820 updates (Ben LaHaise)
* AIO updates (Ben LaHaise)
* Beeping and sysrq on m68k (Vojtech Pavlik)
* Improve hid naming (Vojtech Pavlik)
* LSM docs (Greg Kroah-Hartmann)
* Merge UML updates (Jeff Dike)
* Final superblock union cleanup (Brian Gerst)
- Fix atm build/makefile breakage (Adrian Bunk)
* Brlock optimisation (Robert Love)
* Miscellaneous USB updates (Greg Kroah-Hartmann)
* MPT Fusion update (Pam Delaney)
- Back out sched.c change - seem,s to cause hangs (me)
* Serial compile fix (Russell King)
* S/390 compile fixes (Martin Schwidefsky)
* S/390 workqueue updates (Martin Schwidefsky)
* Switch 3215/3270 from work queue to tasklet (Martin Schwidefsky)
* Update S/390 link scripts (Martin Schwidefsky)
* Remove duplicate S/390 memset (Martin Schwidefsky)
* Fix S/390 syscall tracing (Martin Schwidefsky)
* Multiple 3270 fixes (Martin Schwidefsky)
* Configurable core names (Jes Rahbek Klinke)
X Clean up s/390x 16bit uid calls (Martin Schwidefsky)
* Fix EH locking on NCR5380 (me)
| Should now work on SMP boxes (badly admittedly)
* Indent wd7000 (no code changes) (me)
* First pass at the in2000 scsi driver (me)
| New locking, new_eh, address conversion
Linux 2.5.41-ac1
- Merge with Linus 2.5.41
- Drop S/390 drivers subtree for Linus
- Drop task queue fixes for schedule_work
- TODO: merge two sets of conflicting UML changes
- TODO: double check bluetooth merge
* Fix aacraid makefile (Mark Haverkamp)
* Fix ips compile (Paul Larson)
* Fix aha152x compile (Michel Eyckmans)
* Fix orinoco_cs compile (Wichert Akkerman, Martin Waitz)
* Fix i2o_core compiler (Gregoire Favre)
* Fix missing exports for netfilter
* Fix compile failure in jffs (me)
* Fix compile failure in jffs2 (me)
* Fix Divas_Mod compile (me)
* Fix hisax compile (me)
* Fix ipacx compile (me)
* Fix pcbit compile (me)
* Fix tpam compile (me)
* Fix i2o_lan build (me)
* Fix i2o_proc build (me)
* Fix ppa compile (me)
* Fix imm compile (me)
* Fix ipv6 compile (me)
Linux 2.5.40-ac6
* Cadet_wake can be static (me)
* Bluetooth configuration cleanups (Marcel Holtmann)
o Hardwired empty bar handling fix take two (Ivan Kokshaysky)
* Use kernel crc32 lib for bluetooth (Marcel Holtmann)
* Make scsi cdrom honour passed timeouts (Peter Osterlund)
* Make aironet4500_cs compile (me)
* Fix bugs where ibmtr unmapped the wrong address (me)
* Fix crash problem in oss dmabuf.c (me)
| Its still very broken but ALSA should replace it
* Fix opl3sa2 warnings (me)
* Make tcic compile again (me)
* Make i82365 also use del_timer_sync (me)
* Fix warnings in fpu emulator (me)
* Fix t128 for NCR5380 changes (me)
* Fix pas16 for NCR5380 changes (me)
* Fix dmx3191 for NCR538 changes (me)
* First pass seagate st02 cleanups (me)
* Clean up de600 driver. Switch to spinlocks (me)
remove crud, formatting junk etc
| Still needs rewriting to use parport
o Remove extra unlock in wd7000 (Matthew Wilcox)
* First basic pass at qlogicgas (me)
* Clean up the fdomain isa scsi (me)
* Clean up max_thread setting limits (Matthew Wilcox)
* Ricoh cardbus performance fix (KOMURO)
* Switch appletalk to seq_file /proc (Arnaldo Carvalho de Melo)
* Switch X.25 to seq_file (Arnaldo Carvalho de Melo)
* Fix bugs in the above (Arnaldo Carvalho de Melo)
Linux 2.5.40-ac5
* Rework S/390 driver init sequences (Martin Schwidefsky)
* Swap immediate_bh for tasklets for s/390 3215 (Martin Schwidefsky)
* UML updates - crash fixes, driver cleanup (Jeff Dike)
pcap transport
* Switch fmi radio card to sleeping waits (me)
* Fixing missing printk \n in fmi radio (me)
o Update to newer uclinux patch (Greg Ungerer)
| Unresolved now:
| fs/exec.c kernel/fork.c procfs sysctl
| can nommu be folded in (Hch)
* Remove surplus irq_disable from mpt fusion (Carlos Gorges)
* Export gdt for APM (Carlos Gorges)
| Marked as _GPL because its deep internals stuff
* Merge the add/put disk gendisk changes for i2o (Al Viro)
* Switch NCR5380/g_NCR5380 to new_eh (me)
* Fix cs89x0 netdevice init as module (me)
* Change some of the wd7000 code to use
udelay and do other cleanups
* Switch wd7000 to new_eh (me)
* Serial driver updates (Russell King)
* Sync bluetooth with 2.4, fix SMP, hotplug (Maksim Krasnyanskiy)
support L2CAP, BNEP, HCI filter etc
* Move firmwareloading to hotplug for bluetooth (Maksim Krasnyanskiy)
* Pull hpfs out of shared struct superblock (Brian Gerst)
X Fix sleep with pre-empt disabled in (Manfred Spraul)
set_cpus_allowed
Linux 2.5.40-ac4
* Make ibm partition code compile again (Martin Schwidefsky)
* Remove unneeded config options on S/390 (Martin Schwidefsky)
* Update DASD drivers (Martin Schwidefsky)
* Update S/390 xpram driver (Martin Schwidefsky)
* Replace S/390 BH code by tasklets (Martin Schwidefsky)
* Fix S/390 bitops bugs (Martin Schwidefsky)
* S/390x 31bit emulation fixes (Martin Schwidefsky)
* Update S/390 link scripts (Martin Schwidefsky)
* Add S/390 pre-empt support (Martin Schwidefsky)
* Inline some S/390 old compilers couldnt handle (Martin Schwidefsky)
* Use diag 44 for S/390x spinlocks (Martin Schwidefsky)
* Better S/390 timer handling (Martin Schwidefsky)
* S/390 code cleanups (Martin Schwidefsky)
* Clean up S/390 fpu load/stores (Martin Schwidefsky)
* DECnet updates for testing (Steve Whitehouse)
* Add console shutdown handling to S/390 (Martin Schwidefsky)
* Remove some bogus S/390 sanity checks (Martin Schwidefsky)
* Clean up S/390 process irq (Martin Schwidefsky)
* Fix/simplify chpids handling on S/390 (Martin Schwidefsky)
* No /proc/interrupts on S/390 (Martin Schwidefsky)
* Remove now unneeded S/390 hack in init/main.c (Martin Schwidefsky)
* Clean up all the S/390 ptrace handling (Martin Schwidefsky)
o Fix build with local apic enabled (James Bottomley)
* Initial i2o_block merge of 2.4/2.5 code (me)
| Not yet functional
* Initial i2o_scsi merge of 2.4/2.5 code (me)
| Needs dma mapping, 64bit, be and new_eh
- Revert Ivan's pci change (breaks serverworks)
* PCI serial oops fix (William Irwin)
* Remove dead wood from unistd.h (Brian Gerst)
o Fix bug in capget (Chris Wright)
* Switch qnxfs to new style initializers (Art Haas)
o Recongize qnx v6 file systems (Anders Larsen)
* Kill off remaining pcibios_ users (Greg "Ninja Turtle" Kroah-Hartmann)
* Fix scsi debug for scsi scan changes (Mike Anderson)
* Fix some bugs in scsi error handling (Mike Andersen)
* Forward port RMK's 2.4 scsi fixes (Mike Andersen)
* Allow longer settle times for scsi reset (Mike Andersen)
* Hopefully improve error policies a bit (Mike Andersen)
Linux 2.5.40-ac3
* Resync telephony drivers with 2.4 (me)
| Forward port security and other minor fixes
* Fix aironet4500 build for tq changes (me)
* Fix keyspan USB warnings with gcc 3 (me)
* Switch to the newer 2.4 depca driver (me)
* Re-merge depca fixes from 2.5.0->2.5.40]
* Fix depca spinning waiting for irq probe (me)
* Fix depca copy with interrupts off (me)
* Fix depca clash with other ALIGN macros (me)
* Initial port of NCR5380/g_NCR5380 to new locks (me)
| This still needs new_eh, further clean up
| and possibly making NCR5380_main a thread
* Initial locking rework for the wd7000 scsi (me)
| Still needs new_eh
* Update jffs to the dequeue_signal changes (me)
* Update jffs2 to the dequeue_signal changes (me)
* Fix shpnt misuse in NCR53c406a, wrong free_irq (me)
* Update NCR53c406a to new style sglist (me)
| Still needs new_eh
* Architecture updates for S/390 (Martin Schwidefsky)
* Include updates for S/390 (Martin Schwidefsky)
* Base S/390 driver updates (Martin Schwidefsky)
* Add the new syscalls to S/390 (Martin Schwidefsky)
* Fix sleeping with locks in sound_core (Jaroslav Kysela)
* Fix oops on shutdown of cs4281 (Suresh Siddha)
* Fix cdrom paths in devfs (Jordan Breeding)
* Fix missing cache tag entry in intel cpu table (Jean Delvare)
* Remove old 2.2 compatibility pci functions (Greg Kroah-Hartmann)
* Clean up some dead devfs bits (Greg Kroah-Hartmann)
* Fix an oops in the hugetblpage stuff (Andrew Morton)
| Its still a stupid idea but now it doesnt oops
o Handle read only BARs with type bits set (Ivan Kokshaysky)
Linux 2.5.40-ac2
* Fix a cut and paste error in the amd rng docs (Troels Hansen)
* Forward port OSS maestro3 fixes for toughbook
o Forward port ramdisk cache coherency
* RTL8150 USB updates (Petko Manalov)
* Fix corega USB ident (Petko Manalov)
* USB keyboard driver fix (Dave Miller)
* USB prototype fix (Luc Vanoostenryck)
* USB string fixes (cip307@cip.physik.uni-wuerzburg.de)
* USB test driver (David Brownell)
* Speedtouch USB driver fixes (Greg Kroah-Hartmann)
* Clean environment for hotplug (Greg Kroah-Hartmann)
* Fix mprotect oops (Hugh Dickins)
o NUMA-Q cleanups (Martin Dobson)
* Split timers into one x86 timer type per file (John Stultz)
* Cyclone timer support for x440 etc (John Stultz)
* Fix sleeping from illegal context for ioperm (Andrew Morton)
* Fix imm compile (bonganilinux@mweb.co.za)
* Fix irda for tq changes (Carlos Gorges)
* Fix xjack telephony build (Carlos Gorges)
* Fix ppa compile (Carlos Gorges)
* Fix aha152x compile for tq changes (Carlos Gorges)
* Fix hamradio drivers for tq changes (Carlos Gorges)
* Fix plip driver for tq changes (Carlos Gorges)
* Fix mpt fusion for tq changes (Carlos Gorges)
* Fix isdn for tq changes (Carlos Gorges)
* Fix ieee1394 for tq changes (Carlos Gorges)
* Fix new timer code to build with cpufreq on (me)
* Fix capi build for new tq_ code (me)
| ISDN still needs moving to real locks
| this just cleans up one item
* Fix missing header in mtdblock_ro (Carlos Gorges)
* Fix a typo and other header (me)
* Fix up ixj_pcmcia for 2.5 (me)
| Note for janitors - it looks like a lot of the pcmcia release
| code people "fixed" should be using del_timer_sync not del_timer
* Fix missing header in longhaul cpu speed driver (me)
* Pipe read/write cleanup (Manfred Spraul)
* Make IDE PCI config text clearer (Andrzej Krzysztofowicz)
Linux 2.5.40-ac1
* Initial port of aacraid driver to 2.5 (me)
* vfat corruption fix (Petr Vandrovec)
* Clean up firestream warnings (Francois Romieu)
+ Voyager support (James Bottomley)
* Fix split_vma (Hugh Dickins)
+ Fix config in video subdirectory (John Levon)
* Update olympic driver to 2.5 (Mike Phillips)
* Fix sg init error (Mike Anderson)
* Fix Rules.make
o Merge most of ucLinux stuff (Greg Ungerer)
| It needs putting somewhere so we can pick over the
| hard bits left
| Q: Wouldn't drivers/char/mem-nommu.c be better
| Q: How to do the procfs stuff tidily
| Q: Wouldn't it be nicer to move all mm or mmnommu specific ksyms
| int the relevant mm/*.c file area instead of kernel/ksyms
| Q: Why ifdef out overcommit - its even easier to account on
| MMUless and useful info
* Stick tulip back under 10/100 ethernet (me)
* Correct docs for IBM touchpad back to how (me)
they were before
o Fix abuse of set_bit in winbond-840 (me)
* Fix abuse of set_bit in atp (me)
^ permalink raw reply
* Re: 2002-10-22 processor&thermal module broken?
From: Sérgio Monteiro Basto @ 2002-10-26 23:47 UTC (permalink / raw)
To: Markus Gaugusch; +Cc: acpi-devel
In-Reply-To: <Pine.LNX.4.44.0210231109110.24534-100000-sxQ525G0OhRQK2oVCIMtW7NldLUNz+W/@public.gmane.org>
> I just tried 2.4.20-pre11 with latest acpi patch (+ swsusp) and there is
> no processor/thermal entry in my /proc anymore. Any hints?
With 20021002 /proc/processor exits
with 20021022 /proc/processor disappears
so I have the same problem on a compaq pressario 706EA.
thanks
Sérgio Basto
-------------------------------------------------------
This SF.net email is sponsored by: ApacheCon, November 18-21 in
Las Vegas (supported by COMDEX), the only Apache event to be
fully supported by the ASF. http://www.apachecon.com
^ permalink raw reply
* Re: PATCH: Support PCI device sorting (Re: PCI device order problem)
From: H. J. Lu @ 2002-10-26 23:53 UTC (permalink / raw)
To: Jeff Garzik; +Cc: Alan Cox, Linux Kernel Mailing List
In-Reply-To: <3DBB1E29.5020402@pobox.com>
[-- Attachment #1: Type: text/plain, Size: 794 bytes --]
On Sat, Oct 26, 2002 at 06:58:49PM -0400, Jeff Garzik wrote:
> H. J. Lu wrote:
>
> >>The basic point is "let's proceed with caution, and test test test
> >>before applying this patch."
> >>
> >>
> >
> >Please state clearly what you have in mind. First you were
> >saying you didn't like pci_sort_by_bus_slot_func defined when
> >CONFIG_PCI_SORT_BY_BUS_SLOT_FUNC wass not set. Now you were
> >saying my patch was dangerous. Please make up your mind.
> >
> >
>
> In my first reply, I clearly separated implementation issues from
> commentary on the overall idea. Aside from that, I don't see much value
> in further repeating what I've already said.
>
Here is an alternative patch, which won't define pci_sort_by_bus_slot_func
if CONFIG_PCI_SORT_BY_BUS_SLOT_FUNC is not set.
H.J.
[-- Attachment #2: linux-2.4.18-pci-order-2.patch --]
[-- Type: text/plain, Size: 3224 bytes --]
--- linux/arch/i386/config.in.order Thu Oct 24 21:09:20 2002
+++ linux/arch/i386/config.in Fri Oct 25 16:34:13 2002
@@ -257,6 +257,7 @@ else
if [ "$CONFIG_PCI_GODIRECT" = "y" -o "$CONFIG_PCI_GOANY" = "y" ]; then
define_bool CONFIG_PCI_DIRECT y
fi
+ bool ' Sort device by bus, slot, function' CONFIG_PCI_SORT_BY_BUS_SLOT_FUNC
fi
fi
--- linux/arch/i386/kernel/pci-i386.h.order Sun Nov 11 10:09:32 2001
+++ linux/arch/i386/kernel/pci-i386.h Fri Oct 25 19:26:51 2002
@@ -21,6 +21,7 @@
#define PCI_ASSIGN_ROMS 0x1000
#define PCI_BIOS_IRQ_SCAN 0x2000
#define PCI_ASSIGN_ALL_BUSSES 0x4000
+#define PCI_BUS_SORT 0x8000
extern unsigned int pci_probe;
--- linux/arch/i386/kernel/pci-pc.c.order Thu Oct 24 21:09:20 2002
+++ linux/arch/i386/kernel/pci-pc.c Sat Oct 26 16:14:00 2002
@@ -19,7 +19,11 @@
#include "pci-i386.h"
+#ifdef CONFIG_PCI_SORT_BY_BUS_SLOT_FUNC
+unsigned int pci_probe = PCI_PROBE_BIOS | PCI_BUS_SORT | PCI_PROBE_CONF1 | PCI_PROBE_CONF2;
+#else
unsigned int pci_probe = PCI_PROBE_BIOS | PCI_PROBE_CONF1 | PCI_PROBE_CONF2;
+#endif
int pcibios_last_bus = -1;
struct pci_bus *pci_root_bus = NULL;
@@ -871,6 +875,55 @@ static struct pci_ops * __devinit pci_fi
return NULL;
}
+#ifdef CONFIG_PCI_SORT_BY_BUS_SLOT_FUNC
+static void __devinit pci_sort_by_bus_slot_func(void)
+{
+ LIST_HEAD(sorted_devices);
+ struct list_head *ln;
+ struct pci_dev *dev, *d;
+ int n;
+ int s, slot;
+ int f, func;
+
+ printk(KERN_INFO "PCI: Sorting device list by bus, slot, function...\n");
+
+ /* Starting from bus 0, ... */
+ for (n=0; n <= pcibios_last_bus; n++) {
+ if (!pci_bus_exists(&pci_root_buses, n))
+ continue;
+
+ while (!list_empty(&pci_devices)) {
+ /* Find the lowest remaining PCI slot/function. */
+ slot = INT_MAX;
+ func = INT_MAX;
+ dev = NULL;
+ for (ln=pci_devices.next; ln != &pci_devices; ln=ln->next) {
+ d = pci_dev_g(ln);
+ s = PCI_SLOT(d->devfn);
+ f = PCI_FUNC(d->devfn);
+ if (d->bus->number == n
+ && (s < slot || (s == slot && f < func))) {
+ slot = s;
+ func = f;
+ dev = d;
+ }
+ }
+
+ if (dev) {
+ list_del(&dev->global_list);
+ list_add_tail(&dev->global_list, &sorted_devices);
+ }
+ else {
+ /* Stop if we don't find any devices on
+ this bus. */
+ break;
+ }
+ }
+ }
+ list_splice(&sorted_devices, &pci_devices);
+}
+#endif
+
/*
* Sort the device list according to PCI BIOS. Nasty hack, but since some
* fool forgot to define the `correct' device order in the PCI BIOS specs
@@ -1392,6 +1445,11 @@ void __init pcibios_init(void)
pcibios_resource_survey();
+#ifdef CONFIG_PCI_SORT_BY_BUS_SLOT_FUNC
+ if ((pci_probe & PCI_BUS_SORT) && !(pci_probe & PCI_NO_SORT))
+ pci_sort_by_bus_slot_func();
+ else
+#endif
#ifdef CONFIG_PCI_BIOS
if ((pci_probe & PCI_BIOS_SORT) && !(pci_probe & PCI_NO_SORT))
pcibios_sort();
@@ -1404,6 +1462,12 @@ char * __devinit pcibios_setup(char *st
pci_probe = 0;
return NULL;
}
+#ifdef CONFIG_PCI_SORT_BY_BUS_SLOT_FUNC
+ else if (!strcmp(str, "nobussort")) {
+ pci_probe &= ~PCI_BUS_SORT;
+ return NULL;
+ }
+#endif
#ifdef CONFIG_PCI_BIOS
else if (!strcmp(str, "bios")) {
pci_probe = PCI_PROBE_BIOS;
^ permalink raw reply
* [Linux-ia64] Re: [Pcihpd-discuss] Re: PCI Hotplug Drivers for 2.5
From: Scott Murray @ 2002-10-26 23:36 UTC (permalink / raw)
To: linux-ia64
In-Reply-To: <marc-linux-ia64-105590709805235@msgid-missing>
On Fri, 25 Oct 2002, Russell King wrote:
> On Fri, Oct 25, 2002 at 06:02:31PM -0400, Scott Murray wrote:
> > Unfortunately, my take on the scheme used to reserve space for CardBus
> > bridges was that it only works on platforms that use the setup-*.c code
> > to do their complete PCI subsystem initialization. On platforms like
> > x86, where the BIOS configures all the devices, something like my patch
> > is needed to fixup things to handle the desired reservation. I'm not
> > finished getting things ported to 2.5 yet, I'll post a patch ASAP once
> > I've got everything workin. If you're keen on devising an alternative
> > method, check put my old patch against 2.4.19 at:
>
> I've been working on this in 2.5 this week - I've got something working,
> Alan's happy with the concept as far as the resource allocation goes.
>
> The cardbus reservation method is actually flawed in setup-*.c if you
> want to get rid of the stuff in yenta.c - again, I've fixed this lot
> in my 2.5 tree already, and the patch is pending an update to the x86
> code to do what yenta.c was doing (only setup bridge resources of the
> ones already programmed are bad/wrong.)
This sounds like it could remove the need for my manually specified
resource reservation scheme, does your code currently support arbitrary
bridges, i.e. non-CardBus?
Thanks,
Scott
--
Scott Murray
SOMA Networks, Inc.
Toronto, Ontario
e-mail: scottm@somanetworks.com
^ permalink raw reply
* Re: [Pcihpd-discuss] Re: PCI Hotplug Drivers for 2.5
From: Scott Murray @ 2002-10-26 23:36 UTC (permalink / raw)
To: Russell King
Cc: Ivan Kokshaysky, Greg KH, Jeff Garzik, KOCHI Takayoshi,
jung-ik.lee, tony.luck, pcihpd-discuss, linux-ia64,
Linux Kernel Mailing List
In-Reply-To: <20021025232550.B25082@flint.arm.linux.org.uk>
On Fri, 25 Oct 2002, Russell King wrote:
> On Fri, Oct 25, 2002 at 06:02:31PM -0400, Scott Murray wrote:
> > Unfortunately, my take on the scheme used to reserve space for CardBus
> > bridges was that it only works on platforms that use the setup-*.c code
> > to do their complete PCI subsystem initialization. On platforms like
> > x86, where the BIOS configures all the devices, something like my patch
> > is needed to fixup things to handle the desired reservation. I'm not
> > finished getting things ported to 2.5 yet, I'll post a patch ASAP once
> > I've got everything workin. If you're keen on devising an alternative
> > method, check put my old patch against 2.4.19 at:
>
> I've been working on this in 2.5 this week - I've got something working,
> Alan's happy with the concept as far as the resource allocation goes.
>
> The cardbus reservation method is actually flawed in setup-*.c if you
> want to get rid of the stuff in yenta.c - again, I've fixed this lot
> in my 2.5 tree already, and the patch is pending an update to the x86
> code to do what yenta.c was doing (only setup bridge resources of the
> ones already programmed are bad/wrong.)
This sounds like it could remove the need for my manually specified
resource reservation scheme, does your code currently support arbitrary
bridges, i.e. non-CardBus?
Thanks,
Scott
--
Scott Murray
SOMA Networks, Inc.
Toronto, Ontario
e-mail: scottm@somanetworks.com
^ permalink raw reply
* Re: expect
From: Russell Coker @ 2002-10-26 23:26 UTC (permalink / raw)
To: Chris Albert; +Cc: selinux
In-Reply-To: <3DBB2043.2010709@sympatico.ca>
Excellent! That's what I need!
On Sun, 27 Oct 2002 01:07, Chris Albert wrote:
> maybe what you want is:
>
> /tmp/testit
> #!/usr/bin/expect
> eval spawn -noecho $argv
>
> And then run:
>
> ./testit.sh ls -a -l /tmp
>
>
> Chris
--
http://www.coker.com.au/selinux/ My NSA Security Enhanced Linux packages
http://www.coker.com.au/bonnie++/ Bonnie++ hard drive benchmark
http://www.coker.com.au/postal/ Postal SMTP/POP benchmark
http://www.coker.com.au/~russell/ My home page
--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with
the words "unsubscribe selinux" without quotes as the message.
^ permalink raw reply
* Re: [parisc-linux] Re: mkfs.xfs (xfsprogs-2.3.5) failled
From: Joel Soete @ 2002-10-27 0:32 UTC (permalink / raw)
To: Randolph Chung; +Cc: parisc-linux
In-Reply-To: <3DBB30C0.6060000@freebel.net>
__pu_err disapear in ..asm64?
It doesn't seems to be an error, so don't we need anymore??
Joel Soete wrote:
>
>
> Randolph Chung wrote:
>
>> In reference to a message from Joel Soete, dated Oct 26:
>>
>>> i386 declare: "extern void __get_user_bad(void);"
>>> ...
>>> but not define elsewhere? (is it there so that the build of the
>>> kernel failed if that case was requested to run properly?)
>>
>>
>>
>> yes.
>>
>>
>>> PS: afaik on i386 only put_user_u64 is define why not pending get_user?
>>
>>
>>
>> on first glance i haven't found any code that uses get_user with 64-bit
>> quantities.
>
>
> Not found too.
>
>> if you have a specific need for this, please let me know.
>
>
> No spefic need, thanks. It was just because mips (32bits) already
> foreseen it and it would be already complete :)
>
>>
>> in the mean time, i've checked in support for put_user with 64-bit
>> values. This is in 2.4.19-pa24
>
>
> Great, I will test it (in fact I was not so far; just a problem of
> writing the right way).
>
> Anyway couldn't we also consider __get_user_bad() and __get_kernel_bad()
> for _default:_ case (just to avoid erronious case: with the problem
> encounter with xfs test I was near to loose all my system :(( )?
>
>>
>> Let me know if this works for you. i've tested it only lightly.
>>
> Just have to wait a few days to test at office.
>
> Thanks again.
>
> See you,
> Joel
>
>
^ permalink raw reply
* Re: PATCH: Support PCI device sorting (Re: PCI device order problem)
From: Alan Cox @ 2002-10-26 23:45 UTC (permalink / raw)
To: Jeff Garzik; +Cc: H. J. Lu, Linux Kernel Mailing List
In-Reply-To: <3DBB1E29.5020402@pobox.com>
On Sat, 2002-10-26 at 23:58, Jeff Garzik wrote:
> In my first reply, I clearly separated implementation issues from
> commentary on the overall idea. Aside from that, I don't see much value
> in further repeating what I've already said.
Its pretty pointless code but since its done at boot time, just marking
it __init ought to be quite sufficient.
^ permalink raw reply
* [LARTC] (no subject)
From: zoop @ 2002-10-26 23:20 UTC (permalink / raw)
To: lartc
In-Reply-To: <marc-lartc-98373938216902@msgid-missing>
In this statement what does the divisor do?
tc filter add dev eth2 parent 1:0 prio 5 handle 2: protocol ip u32 divisor
256
If you need more information the next line might help.
tc filter add dev eth2 protocol ip parent 1:0 prio 5 u32 ht 800:: match ip
src 10.1.0.0/16 hashkey mask 0x0000ff00 at 12 link 2:
I had another quick question
tc filter add dev eth2 protocol ip parent 1:0 prio 5 u32 ht 3:00: match ip
src 10.1.28.0/24 hashkey mask 0x000000fc at 12 link 4:
In this line would this mask it out so that it would only get the last two
bits?
thank you for your time.
-zoop
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
^ permalink raw reply
* Re: Creating a Hybrid Connection to Balance Traffic
From: Andrew Smith @ 2002-10-26 23:14 UTC (permalink / raw)
To: netfilter
In-Reply-To: <20021026190433.24795.qmail@web40607.mail.yahoo.com>
> I've got a peculiar situation that I hope you all
> would listen to and offer feedback on any possible
> implementations.
>
> So I've recently broke down and purchased a DSL
> connection for my home computer, and I've just
> discovered the joys of p2p file sharing (i.e., being
> able to download television shows that my local
> stations have stopped carrying, like Enterprise).
> Anyway, as you can guess, these video files are rather
> large, and other users also grab them from my computer
> as well, so my upload speeds are rather high. Since
> I've subscribed to DSL service through a local ISP,
> and since local ISPs are big on service but not on
> resources, I got a call from them recently asking me
> to tone down my upload bandwidth usage on the DSL
> line. I've pretty much got to listen or I will lose
> my service.
>
> My local setup consists of a linux box acting as a
> gateway for my home network of (gasp!) one computer
> and a laptop. The linux box currently uses ipchains
> to perform the necessary IP masquerading for the
> connection. Some quick stats:
>
> eth0: external network connection (to ISP)
> eth1: internal network
> ppp0: modem attached, but not currently used.
>
> So here comes the question: since I've got to reduce
> my upload usage, I'd like to try to use the linux box
> to do a special form of SNAT routing. I would like
> all outgoing data to leave through the attached ppp0
> interface (the modem which I can hook up to a dialup
> ISP) and all incoming data to come back in through the
> eth0 interface (the broadband connection to my local
> ISP). Basically, I need to do a form of SNAT routing
> that overwrites the source address of packets leaving
> on the ppp0 interface with the IP address of the eth0
> interface, so when their replies come back the will
> come on the faster broadband connection. This way the
> upload bandwidth usage on the DSL connection will be
> effectively zero, while I will still be able to enjoy
> the fast download speeds of the DSL line, satisfying
> both me and the ISP.
>
> My issues include the current usage of SNAT routing
> (masquerading) since my local network connects to the
> internet through the linux box's one IP address, and
> how to use ipchains, iptables, or ipnatctl (or others)
> to perform this extra set of SNAT routing. Does
> anyone have any ideas on how to implement this?
>
> Sorry for the long story, and I thank everyone in
> advance for their time. Have a good one,
> Paul
Not sure how to MASQUERADE a connection and to specify a
differnet IP address (which I guess is what you want to do)
but you also need to check that the dialup ISP does not do
egress filtering - coz if they do - it will not work anyway.
Use google to look up egress, but basically it means that they
may only allow the source IP of outgoing packets to match the
IP address they supply you and they drop all other packets.
This is apparently common in the USA.
If they don't do egress then you should be able to do it - but
not sure how :-) I can think of things to try - but no idea if
any are correct - basically using the "-t nat" table,
"-A POSTROUTING" and something like -j SNAT
but that would also require changing the rule every time the
dialup DHCP IP changes and I'm not sure about what happens to
return packets.
--
-Cheers
-Andrew
MS ... if only he hadn't been hang gliding!
^ permalink raw reply
* need attrs patch for 2.5.44-ac3
From: Tom Vier @ 2002-10-26 23:02 UTC (permalink / raw)
To: reiserfs-list
is there a 2.5 attrs patch? i can't even list them in 2.5 on a reiserfs. i
get "inappropriate ioctl for device".
--
Tom Vier <tmv@comcast.net>
DSA Key ID 0xE6CB97DA
^ permalink raw reply
* Re: PATCH: Support PCI device sorting (Re: PCI device order problem)
From: Jeff Garzik @ 2002-10-26 22:58 UTC (permalink / raw)
To: H. J. Lu; +Cc: Alan Cox, Linux Kernel Mailing List
In-Reply-To: <20021026155342.A14378@lucon.org>
H. J. Lu wrote:
>>The basic point is "let's proceed with caution, and test test test
>>before applying this patch."
>>
>>
>
>Please state clearly what you have in mind. First you were
>saying you didn't like pci_sort_by_bus_slot_func defined when
>CONFIG_PCI_SORT_BY_BUS_SLOT_FUNC wass not set. Now you were
>saying my patch was dangerous. Please make up your mind.
>
>
In my first reply, I clearly separated implementation issues from
commentary on the overall idea. Aside from that, I don't see much value
in further repeating what I've already said.
Jeff
^ permalink raw reply
* Re: PATCH: Support PCI device sorting (Re: PCI device order problem)
From: H. J. Lu @ 2002-10-26 22:53 UTC (permalink / raw)
To: Jeff Garzik; +Cc: Alan Cox, Linux Kernel Mailing List
In-Reply-To: <3DBB1743.6060309@pobox.com>
On Sat, Oct 26, 2002 at 06:29:23PM -0400, Jeff Garzik wrote:
>
> >I added pci=nobussort since it might not be safe for all MBs. Then I
> >added "pci=bussort". I have no problem taking out "pci=bussort". If you
> >don't want "pci=bussort", please say so. I can provide a new patch which
> >won't define pci_sort_by_bus_slot_func if CONFIG_PCI_SORT_BY_BUS_SLOT
> >is not set and won't have "pci=bussort" either.
> >
> >
>
> You're still missing the point here too.
>
> Your patch has the potential to suddenly make systems unbootable, to
> suddenly reverse people's ethX interface numbering, etc. No command
That is the whole purpose of my patch. But you will only get it when
you set CONFIG_PCI_SORT_BY_BUS_SLOT_FUNC.
> line options in the world will save lkml from being deluged by tons of
> "my system doesn't network anymore" bug reports.
You will only get it when you set CONFIG_PCI_SORT_BY_BUS_SLOT_FUNC on
purpose by hand.
>
> The basic point is "let's proceed with caution, and test test test
> before applying this patch."
Please state clearly what you have in mind. First you were
saying you didn't like pci_sort_by_bus_slot_func defined when
CONFIG_PCI_SORT_BY_BUS_SLOT_FUNC wass not set. Now you were
saying my patch was dangerous. Please make up your mind.
H.J.
^ permalink raw reply
* [BENCHMARK] 2.5.44-mm5 with contest
From: Con Kolivas @ 2002-10-26 22:43 UTC (permalink / raw)
To: linux kernel mailing list; +Cc: Andrew Morton
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Contest results (http://contest.kolivas.net) results for the 2.5.44-mm*
patches:
noload:
Kernel [runs] Time CPU% Loads LCPU% Ratio
2.5.44 [3] 74.6 93 0 0 1.03
2.5.44-mm1 [3] 75.0 93 0 0 1.03
2.5.44-mm2 [3] 76.4 93 0 0 1.05
2.5.44-mm4 [3] 75.0 93 0 0 1.03
2.5.44-mm5 [5] 75.4 91 0 0 1.04
process_load:
Kernel [runs] Time CPU% Loads LCPU% Ratio
2.5.44 [3] 90.9 76 32 26 1.25
2.5.44-mm1 [3] 191.5 36 168 64 2.64
2.5.44-mm2 [3] 193.5 38 161 62 2.66
2.5.44-mm4 [3] 191.1 36 166 63 2.63
2.5.44-mm5 [4] 191.4 36 166 63 2.63
ctar_load:
Kernel [runs] Time CPU% Loads LCPU% Ratio
2.5.44 [3] 97.7 80 1 6 1.34
2.5.44-mm1 [3] 99.2 78 1 6 1.37
2.5.44-mm2 [3] 96.9 79 1 5 1.33
2.5.44-mm4 [3] 97.1 79 1 5 1.34
2.5.44-mm5 [4] 97.7 78 1 5 1.34
xtar_load:
Kernel [runs] Time CPU% Loads LCPU% Ratio
2.5.44 [3] 117.0 65 1 7 1.61
2.5.44-mm1 [3] 156.2 49 2 7 2.15
2.5.44-mm2 [3] 176.1 44 2 7 2.42
2.5.44-mm4 [3] 183.3 41 2 8 2.52
2.5.44-mm5 [4] 181.1 44 2 7 2.49
io_load:
Kernel [runs] Time CPU% Loads LCPU% Ratio
2.5.44 [3] 873.8 9 69 12 12.03
2.5.44-mm1 [3] 347.3 22 35 15 4.78
2.5.44-mm2 [3] 294.2 28 19 10 4.05
2.5.44-mm4 [3] 358.7 23 25 10 4.94
2.5.44-mm5 [4] 270.7 29 18 11 3.73
read_load:
Kernel [runs] Time CPU% Loads LCPU% Ratio
2.5.44 [3] 110.8 68 6 3 1.53
2.5.44-mm1 [3] 110.5 69 7 3 1.52
2.5.44-mm2 [3] 104.5 73 7 4 1.44
2.5.44-mm4 [3] 105.6 71 6 4 1.45
2.5.44-mm5 [4] 103.3 74 6 4 1.42
list_load:
Kernel [runs] Time CPU% Loads LCPU% Ratio
2.5.44 [3] 99.1 71 1 21 1.36
2.5.44-mm1 [3] 96.5 74 1 22 1.33
2.5.44-mm2 [3] 94.5 75 1 22 1.30
2.5.44-mm4 [3] 96.4 74 1 21 1.33
2.5.44-mm5 [4] 95.0 75 1 20 1.31
mem_load:
Kernel [runs] Time CPU% Loads LCPU% Ratio
2.5.44 [3] 114.3 67 30 2 1.57
2.5.44-mm1 [3] 159.7 47 38 2 2.20
2.5.44-mm2 [3] 116.6 64 29 2 1.60
2.5.44-mm4 [3] 114.9 65 28 2 1.58
2.5.44-mm5 [4] 114.1 65 30 2 1.57
Summary: mm5 appears a little faster under IO load, otherwise the same.
Con
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.0 (GNU/Linux)
iD8DBQE9uxp+F6dfvkL3i1gRAs9AAJ9Msm/69wnFVv2rFIUi08jdAb8QFgCeO7hj
9La9w2ooWhA1qxoB+/OE3+c=
=fWTd
-----END PGP SIGNATURE-----
^ permalink raw reply
* Re: [parisc-linux] Re: mkfs.xfs (xfsprogs-2.3.5) failled
From: Joel Soete @ 2002-10-26 23:40 UTC (permalink / raw)
To: Joel Soete; +Cc: jsoe0708, Randolph Chung, Stefan Pfetzing, parisc-linux
In-Reply-To: <3DBAD364.9060301@freebel.net>
Joel Soete wrote:
> Hmm question about "default:" uaccess.h implementation on different
> platform:
>
> i386 declare: "extern void __get_user_bad(void);"
>
> ia64: "extern void __get_user_unknown (void);"
>
> mips: "extern void __get_user_unknown(void);"
> ...
> but not define elsewhere? (is it there so that the build of the kernel
> failed if that case was requested to run properly?)
In the mean time I verify this hypothesis. So may I suggest a patch in
this direction?
[Better would be to add _also_ support as in the patch I suggest in
<http://lists.parisc-linux.org/pipermail/parisc-linux/2002-October/017887.html>
this was tested for __put_user_asm_64 && __put_kernel_asm_64 (not the
corresponding __get_ :( I don't know yet if I can use a .fixup section ?)
May be some other could test and verify closer this part ?
Joel
>
> Thanks in advance for attention,
> Joel
>
> PS: afaik on i386 only put_user_u64 is define why not pending get_user?
>
>
> jsoe0708@tiscali.be wrote:
>
>> too bad:
>>
>> man ioctl advise that it would return -1 (not ENOTSUP which would be
>> assign
>> to errno) I will try to see how?
>>
>> Sorry to annoy,
>> Joel
>>
>>
>>> -- Original Message --
>>> From: jsoe0708@tiscali.be
>>> Subject: Re: [parisc-linux] Re: mkfs.xfs (xfsprogs-2.3.5) failled
>>> To: "Randolph Chung" <randolph@tausq.org>,
>>> "Stefan Pfetzing" <dreamind@dreamind.de>
>>> Cc: parisc-linux@lists.parisc-linux.org
>>> Date: Fri, 25 Oct 2002 14:58:42 +0200
>>>
>>>
>>> Hi Randolph,
>>>
>>> It sure I found a bug in the two parts kernel and xfs.
>>>
>>> A. The kernel hppa: put_user and get_user does just a printk for BUG
>>> messages
>>> but don't return error code as ENOTSUP (or what else) (what I assume the
>>> other platforms does when they do not yet support BLKGETSIZE64?)
>>>
>>> Here is a small patch I suggest:
>>> (I do not reach to implement an operational support of BLKGETSIZE64 [for
>>> 32bits kernel]; I do not find a easy way to manage code failure :-( )
>>>
>>> --- uaccess.h.orig 2002-10-22 15:14:54.000000000 +0200
>>> +++ uaccess.h 2002-10-23 13:46:48.000000000 +0200
>>> @@ -35,10 +35,10 @@
>>> #define get_user __get_user
>>>
>>> #if BITS_PER_LONG == 32
>>> -#define LDD_KERNEL(ptr) BUG()
>>> -#define LDD_USER(ptr) BUG()
>>> -#define STD_KERNEL(x, ptr) BUG()
>>> -#define STD_USER(x, ptr) BUG()
>>> +#define LDD_KERNEL(ptr) BUG(); __gu_err=ENOTSUP;
>>> +#define LDD_USER(ptr) BUG(); __gu_err=ENOTSUP;
>>> +#define STD_KERNEL(x, ptr) BUG(); __pu_err=ENOTSUP;
>>> +#define STD_USER(x, ptr) BUG(); __pu_err=ENOTSUP;
>>> #else
>>> #define LDD_KERNEL(ptr) __get_kernel_asm("ldd",ptr)
>>> #define LDD_USER(ptr) __get_user_asm("ldd",ptr)
>>> @@ -75,7 +75,7 @@
>>> case 2: __get_kernel_asm("ldh",ptr); break; \
>>> case 4: __get_kernel_asm("ldw",ptr); break; \
>>> case 8: LDD_KERNEL(ptr); break; \
>>> - default: BUG(); break; \
>>> + default: BUG(); __gu_err=ENOTSUP; break; \
>>> } \
>>> } \
>>> else { \
>>> @@ -84,7 +84,7 @@
>>> case 2: __get_user_asm("ldh",ptr); break; \
>>> case 4: __get_user_asm("ldw",ptr); break; \
>>> case 8: LDD_USER(ptr); break; \
>>> - default: BUG(); break; \
>>> + default: BUG(); __gu_err=ENOTSUP; break; \
>>> } \
>>> } \
>>> \
>>> @@ -144,7 +144,7 @@
>>> case 2: __put_kernel_asm("sth",x,ptr); break; \
>>> case 4: __put_kernel_asm("stw",x,ptr); break; \
>>> case 8: STD_KERNEL(x,ptr); break; \
>>> - default: BUG(); break; \
>>> + default: BUG(); __pu_err=ENOTSUP; break; \
>>> } \
>>> } \
>>> else { \
>>> @@ -153,7 +153,7 @@
>>> case 2: __put_user_asm("sth",x,ptr); break; \
>>> case 4: __put_user_asm("stw",x,ptr); break; \
>>> case 8: STD_USER(x,ptr); break; \
>>> - default: BUG(); break; \
>>> + default: BUG(); __pu_err=ENOTSUP; break; \
>>> } \
>>> } \
>>> \
>>>
>>> If all agreed, (awaiting better :?) can somebody ci it?
>>>
>>>
>>> Thanks in advance for attention,
>>> Joel
>>>
>>> PS: B. in xfs:
>>>
>>> error = ioctl(fd, BLKGETSIZE64, &size);
>>> - if (error >= 0) {
>>> + if (!error) {
>>> /* BLKGETSIZE64 returns size in bytes not 512-byte blocks */
>>>
>>> AFAIK ioctl should return error=0 if success and error <>0 (>0?)
>>> here is the full patch I will suggest:
>>>
>>> --- cmd/xfsprogs/libxfs/init.c.orig 2002-10-25 12:12:29.000000000
>>> +0200
>>> +++ cmd/xfsprogs/libxfs/init.c 2002-10-25 14:22:34.000000000 +0200
>>> @@ -155,11 +155,14 @@
>>> progname, path, strerror(errno));
>>> exit(1);
>>> }
>>> +#if !defined(__hppa__) || defined(__LP64__)
>>> error = ioctl(fd, BLKGETSIZE64, &size);
>>> - if (error >= 0) {
>>> + if (!error) {
>>> /* BLKGETSIZE64 returns size in bytes not 512-byte blocks */
>>> size = size >> 9;
>>> - } else {
>>> + } else
>>> +#endif
>>> + {
>>> /* If BLKGETSIZE64 fails, try BLKGETSIZE */
>>> unsigned long tmpsize;
>>> error = ioctl(fd, BLKGETSIZE, &tmpsize);
>>>
>>> _______________________________________________
>>> parisc-linux mailing list
>>> parisc-linux@lists.parisc-linux.org
>>> http://lists.parisc-linux.org/mailman/listinfo/parisc-linux
>>
>>
>>
>> _______________________________________________
>> parisc-linux mailing list
>> parisc-linux@lists.parisc-linux.org
>> http://lists.parisc-linux.org/mailman/listinfo/parisc-linux
>>
>
>
^ permalink raw reply
* Re: PATCH: Support PCI device sorting (Re: PCI device order problem)
From: Jeff Garzik @ 2002-10-26 22:29 UTC (permalink / raw)
To: H. J. Lu; +Cc: Alan Cox, Linux Kernel Mailing List
In-Reply-To: <20021026152043.A13850@lucon.org>
H. J. Lu wrote:
>On Sat, Oct 26, 2002 at 06:04:00PM -0400, Jeff Garzik wrote:
>
>
>>Which is the entire problem. The kernel compiles and builds just fine
>>right now, without your function.
>>
>>
>>
>
>Without my patch or my function? My patched file has
>
> if ((pci_probe & PCI_BUS_SORT) && !(pci_probe & PCI_NO_SORT))
> pci_sort_by_bus_slot_func();
>#ifdef CONFIG_PCI_BIOS
> else if ((pci_probe & PCI_BIOS_SORT) && !(pci_probe & PCI_NO_SORT))
> pcibios_sort();
>#endif
>
>That is pci_sort_by_bus_slot_func () will be called if PCI_BUS_SORT is
>set. It is independent of whether CONFIG_PCI_SORT_BY_BUS_SLOT_FUNC is
>set or not, which sets PCI_BUS_SORT. If pci_sort_by_bus_slot_func is
>not defined when CONFIG_PCI_SORT_BY_BUS_SLOT_FUNC is not set. How can
>kernel compile?
>
I am obviously not being understood / not communicating myself clearly.
Your patch unconditionally adds a new function.
Don't do that. Wrap it in an ifdef, like you propose below.
>I added pci=nobussort since it might not be safe for all MBs. Then I
>added "pci=bussort". I have no problem taking out "pci=bussort". If you
>don't want "pci=bussort", please say so. I can provide a new patch which
>won't define pci_sort_by_bus_slot_func if CONFIG_PCI_SORT_BY_BUS_SLOT
>is not set and won't have "pci=bussort" either.
>
>
You're still missing the point here too.
Your patch has the potential to suddenly make systems unbootable, to
suddenly reverse people's ethX interface numbering, etc. No command
line options in the world will save lkml from being deluged by tons of
"my system doesn't network anymore" bug reports.
The basic point is "let's proceed with caution, and test test test
before applying this patch."
Jeff
^ permalink raw reply
* Re: PATCH: Support PCI device sorting (Re: PCI device order problem)
From: H. J. Lu @ 2002-10-26 22:20 UTC (permalink / raw)
To: Jeff Garzik; +Cc: Alan Cox, Linux Kernel Mailing List
In-Reply-To: <3DBB1150.2030800@pobox.com>
On Sat, Oct 26, 2002 at 06:04:00PM -0400, Jeff Garzik wrote:
> Which is the entire problem. The kernel compiles and builds just fine
> right now, without your function.
>
Without my patch or my function? My patched file has
if ((pci_probe & PCI_BUS_SORT) && !(pci_probe & PCI_NO_SORT))
pci_sort_by_bus_slot_func();
#ifdef CONFIG_PCI_BIOS
else if ((pci_probe & PCI_BIOS_SORT) && !(pci_probe & PCI_NO_SORT))
pcibios_sort();
#endif
That is pci_sort_by_bus_slot_func () will be called if PCI_BUS_SORT is
set. It is independent of whether CONFIG_PCI_SORT_BY_BUS_SLOT_FUNC is
set or not, which sets PCI_BUS_SORT. If pci_sort_by_bus_slot_func is
not defined when CONFIG_PCI_SORT_BY_BUS_SLOT_FUNC is not set. How can
kernel compile?
> If it is "just not called by default" then it clearly can be removed at
> compile time when a certain CONFIG_xxx is not defined.
It is controlled by PCI_BUS_SORT, not CONFIG_xxx.
>
>
> >>>>WRT the overall idea, I would prefer to see what Linus and Martin Mares
> >>>>(and Ivan K) thought about it, before merging it. The x86 PCI code is
> >>>>very touchy, and your patch has the potential to change driver probe
> >>>>order for little gain.
> >>>>
> >>>>
> >>>>
> >>>The whole purpose of my patch is to change PCI driver probe order in
> >>>such a way that is BIOS independent.
> >>>
> >>>
> >>>
> >>The purpose is irrelevant to the effect on existing drivers and systems
> >>-- which is unknown. Making the probe order independent of BIOS
> >>ordering may very well break drivers and systems that are dependent on
> >>BIOS ordering. IOW what looks nice on your system could _likely_ suck
> >>for others. That's what I meant by "x86 PCI code is very touchy."
> >>
> >>
> >
> >That is why CONFIG_PCI_SORT_BY_BUS_SLOT_FUNC is off by default and
> >even if it is on, you can still override it by passing "pci=nosort"
> >or "pci=nobussort" to kernel.
> >
> >
>
> Sigh. Repeating, the kernel is still bloated by your sorting function
> if CONFIG_PCI_SORT_BY_BUS_SLOT is not defined. The function should go
> away if CONFIG_PCI_SORT_BY_BUS_SLOT is not defined.
I added pci=nobussort since it might not be safe for all MBs. Then I
added "pci=bussort". I have no problem taking out "pci=bussort". If you
don't want "pci=bussort", please say so. I can provide a new patch which
won't define pci_sort_by_bus_slot_func if CONFIG_PCI_SORT_BY_BUS_SLOT
is not set and won't have "pci=bussort" either.
H.J.
^ permalink raw reply
* Re: 2.5.44-ac3 usb audio - illegal sleep call
From: Kevin Brosius @ 2002-10-26 22:21 UTC (permalink / raw)
To: Greg KH; +Cc: Oliver Neukum, kernel
In-Reply-To: <20021026185333.GA2876@kroah.com>
Greg KH wrote:
>
>
> On Sat, Oct 26, 2002 at 02:13:42PM -0400, Kevin Brosius wrote:
> > Oliver Neukum wrote:
> > >
> > >
> > > Am Samstag, 26. Oktober 2002 16:13 schrieb Kevin Brosius:
> > > > I've been trying to get USB up to test a audio device and just managed
> > > > to get it all working to some extent. When using xmms to play audio
> > > > (usb audio module - oss soundcore) I see the following kernel messages
> > > > repeatedly, maybe once a second or so:
> > >
> > > Go edit usbout_completed() and usbin_completed(). Change the GFP_KERNEL
> > > in usb_submit_urb to GFP_ATOMIC.
> > > Does that help ?
> > >
> > > Regards
> > > Oliver
> >
> >
> > Hi guys,
> > No... Well, actually, it does change which function gives the
> > warning. Now usbout_sync_completed is complaining.
>
> Heh, can you change that instance of GFP_KERNEL to GFP_ATOMIC too?
>
> thanks,
Yes, I went ahead and tried that. I also had do it in usbout_start()
and usbin_sync_completed(). Now I can play audio without any of those
warnings showing up in the log.
This may be unrelated, but I also see the usb audio device fail after
some uses. For example, using xine with the oss output module will only
play audio for a short time, then audio stops. After that point it is
impossible to restore audio function from everything I've tried. I am
unable to kill -9 xine successfully, and unable to rmmod the usb audio
driver to try and reload it. Only a full reboot will bring it back to
life (I'm sure there are things I haven't tried...)
--
Kevin
^ permalink raw reply
* Re: expect
From: Russell Coker @ 2002-10-26 22:07 UTC (permalink / raw)
To: Chris Albert; +Cc: selinux
In-Reply-To: <3DBB09DF.2020303@sympatico.ca>
On Sat, 26 Oct 2002 23:32, Chris Albert wrote:
> Russell Coker wrote:
> >I want to run an expect script as:
> >script program param1 param2 ...
OK, I think I didn't make it clear what I want to do. Say I want to run ls
with a variety of parameters, I save the following as /tmp/testit:
#!/usr/bin/expect
spawn /bin/ls [lrange $argv 0 end]
interact
Then I type the following command:
/tmp/testit -l -a /tmp
I want the same result as "ls -l -a /tmp" but I don't get it.
--
http://www.coker.com.au/selinux/ My NSA Security Enhanced Linux packages
http://www.coker.com.au/bonnie++/ Bonnie++ hard drive benchmark
http://www.coker.com.au/postal/ Postal SMTP/POP benchmark
http://www.coker.com.au/~russell/ My home page
--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with
the words "unsubscribe selinux" without quotes as the message.
^ permalink raw reply
* Re: [PATCH,RFC] faster kmalloc lookup
From: Alan Cox @ 2002-10-26 22:30 UTC (permalink / raw)
To: Manfred Spraul; +Cc: Linux Kernel Mailing List
In-Reply-To: <3DBAEB64.1090109@colorfullife.com>
On Sat, 2002-10-26 at 20:22, Manfred Spraul wrote:
> kmalloc spends a large part of the total execution time trying to find
> the cache for the passed in size.
>
> What about the attached patch (against 2.5.44-mm5)?
> It uses fls jump over the caches that are definitively too small.
Out of curiousity how does fls compare with finding the right cache by
using a binary tree walk ? A lot of platforms seem to use generic_fls
which has a lot of conditions in it and also a lot of references to just
computed values that look likely to stall
^ permalink raw reply
* Re: PATCH: Support PCI device sorting (Re: PCI device order problem)
From: Jeff Garzik @ 2002-10-26 22:04 UTC (permalink / raw)
To: H. J. Lu; +Cc: Alan Cox, Linux Kernel Mailing List
In-Reply-To: <20021026144441.A13479@lucon.org>
H. J. Lu wrote:
>On Sat, Oct 26, 2002 at 05:34:57PM -0400, Jeff Garzik wrote:
>
>
>>H. J. Lu wrote:
>>
>>
>>
>>>On Sat, Oct 26, 2002 at 05:12:51PM -0400, Jeff Garzik wrote:
>>>
>>>
>>>
>>>
>>>>Well, WRT your implementation, the function you add is dead code if your
>>>>new config variable is not set, which is not desireable at all.
>>>>
>>>>
>>>>
>>>>
>>>I am not sure if I understand what you were trying to say. If
>>>CONFIG_PCI_SORT_BY_BUS_SLOT_FUNC is not set, you should be able to
>>>pass "pci=bussort" to kernel to sort the PCI device by bus, slot and
>>>function. Did I miss something?
>>>
>>>
>>>
>>>
>>The sorting function you add should be covered by the ifdef you add.
>>
>>
>
>Have you tried? If I did that, the kernel wouldn't even compile. As I
>said, when CONFIG_PCI_SORT_BY_BUS_SLOT_FUNC isn't defined, my sorting
>function is still available, just not called by default.
>
Which is the entire problem. The kernel compiles and builds just fine
right now, without your function.
If it is "just not called by default" then it clearly can be removed at
compile time when a certain CONFIG_xxx is not defined.
>>>>WRT the overall idea, I would prefer to see what Linus and Martin Mares
>>>>(and Ivan K) thought about it, before merging it. The x86 PCI code is
>>>>very touchy, and your patch has the potential to change driver probe
>>>>order for little gain.
>>>>
>>>>
>>>>
>>>The whole purpose of my patch is to change PCI driver probe order in
>>>such a way that is BIOS independent.
>>>
>>>
>>>
>>The purpose is irrelevant to the effect on existing drivers and systems
>>-- which is unknown. Making the probe order independent of BIOS
>>ordering may very well break drivers and systems that are dependent on
>>BIOS ordering. IOW what looks nice on your system could _likely_ suck
>>for others. That's what I meant by "x86 PCI code is very touchy."
>>
>>
>
>That is why CONFIG_PCI_SORT_BY_BUS_SLOT_FUNC is off by default and
>even if it is on, you can still override it by passing "pci=nosort"
>or "pci=nobussort" to kernel.
>
>
Sigh. Repeating, the kernel is still bloated by your sorting function
if CONFIG_PCI_SORT_BY_BUS_SLOT is not defined. The function should go
away if CONFIG_PCI_SORT_BY_BUS_SLOT is not defined.
Jeff
^ permalink raw reply
* Re: Switching from IOCTLs to a RAMFS
From: Jeff Garzik @ 2002-10-26 22:00 UTC (permalink / raw)
To: Patrick Mochel; +Cc: linux-kernel
In-Reply-To: <Pine.LNX.4.44.0210241525560.983-100000@cherise.pdx.osdl.net>
Patrick Mochel wrote:
>>Is there a namespace doc or guideline we can look at?
>>(for existing nodes, sure, but more guidelines for future nodes)
>>
>>
>
>There's nothing official, at least not yet. I know that's a pretty crappy
>thing to say, but I've been this -><- close to doing for some time now..
>
hehe, that's cool :)
I'll just continue to point people to mochel@osdl.org when they ask
about a procfs alternative :)
>But, then we border on what exactly we want in sysfs. The original intent
>was to provide a simple ASCII-based interface, and _not_ provide device
>nodes.
>
>As things have matured, and more people want to move stuff out of procfs
>and replace ioctls with custom filesystem interfaces, I've questioned the
>original intent. In the end, I'm really ambivalent about whether to use
>sysfs or a custom filesystem for custom interfaces beyond the simple
>ASCII-based one. I'm not trying to either save or conquer the world with
>sysfs, and it would make my life a whole lot easier if no one at all used
>it. ;)
>
>But, I have arguments for both sides:
>
>If sysfs is used, there are the arguments I presented last time: once fs
>to mount, one API to create files in different subsystems, easier
>association between objects.
>
>While it's easy to create your own filesystem, either using fs/libfs.c
>helpers and/or fs/nfsd/nfsctl.c as your based, you still end up with a lot
>of replicated code. There will be copy-n-paste no matter what. I know it's
>not a really solid argument, but how much overhead is it going to incur if
>every subsystem and/or every object that belongs to each subsystem is
>exporting a filesystem instance?
>
>
Like I touched on in IRC, there is room for both sysfs and per-driver
filesystems.
I think just about everyone agrees that ioctls are a bad idea and a huge
maintenance annoyance. So, what is the alternate solution? IMO your
choices are presenting a device node for control via read(2), write(2),
and poll(2), or exporting a bunch of ASCII-controlled interfaces. While
I certainly agree with the overall strategy of sysfs, I can't see it as
being the best interface for wholesale replacement of groups of ioctls.
So that leaves per-driver filesystems, which have a bunch of benefits...
* allows for implementation of true character devices (chardevs),
something which sysfs was never intended to do
* solves module unloading problem, because filesystems must be mounted
before accessing and umounted before removal, which implies that there
will be no races at the open(2) level
* we all admit that sysfs doesn't attempt to solve similar problems as
devfs. so if one wants to do a sane device filesystem, a custom fs is
needed
* mount options are the current best solution for providing decent
default file permissions for dynamically instantiated file nodes. It
keeps policy in userspace while still providing dynamic file nodes in
the kernel. per-driver filesystems give you the granularity needed to
accomplish this.
* as fs/nfsd/nfsctl.c and libfs.c shows, you don't have to worry about
code bloat, so the only real overhead is the structures that are
involved in superblock/vfsmount operations
There were a couple other benefits I have forgotten by now :)
Jeff
^ permalink raw reply
* async structure for serial.c
From: Jim Deas @ 2002-10-26 21:59 UTC (permalink / raw)
To: linux-serial
I have just upgraded my kernel from 2.4.7 to 2.4.18
After the upgrade I started having problems with
my "signal_handler_IO".
In the old version, this seemed to trigger only when
bytes were waiting on the serial port. It now seems
to trigger on send as well as receive increasing my
overhead.
I saw where TTY_DO_WRITE_WAKEUP was
added to kernel/serial.c.
Was this to create the action I am seeing? If so,
is there a way that only received characters can
trigger SIGIO and not a Tx ready or Tx send?
Regards,
J. Deas
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.