28 Apr, 2007
4 commits
-
We often have the situation that we register a subchannel and start device
recognition, only to find out that the device is not usable after all, which
triggers an unregister of the subchannel. This often happens on hundreds of
subchannels on a LPAR, leading to a storm of events which aren't of any use.
Therefore, use uevent_suppress to delay the KOBJ_ADD uevent for a subchannel
until we know that its ccw_device is to be registered.Signed-off-by: Cornelia Huck
Cc: Kay Sievers
Cc: Eric Rannaud
Cc: Heiko Carstens
Signed-off-by: Andrew Morton
Signed-off-by: Greg Kroah-Hartman -
the current driver tree contains the removal of subsys.rwsem.
Unfortunately, this breaks qeth. However, it should be no problem to
fix the walking of the devices for /proc/qeth:No need to take subsys.rwsem during walking the devices,
driver_find_devices() should already suffice.Signed-off-by: Cornelia Huck
Signed-off-by: Greg Kroah-Hartman -
Make use of add_uevent_var() instead of (often incorrectly) open coding it.
Signed-off-by: Michael Ellerman
Signed-off-by: Eric Rannaud
Cc: Kay Sievers
Cc: Cornelia Huck
Signed-off-by: Andrew Morton
Signed-off-by: Greg Kroah-Hartman -
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (448 commits)
[IPV4] nl_fib_lookup: Initialise res.r before fib_res_put(&res)
[IPV6]: Fix thinko in ipv6_rthdr_rcv() changes.
[IPV4]: Add multipath cached to feature-removal-schedule.txt
[WIRELESS] cfg80211: Clarify locking comment.
[WIRELESS] cfg80211: Fix locking in wiphy_new.
[WEXT] net_device: Don't include wext bits if not required.
[WEXT]: Misc code cleanups.
[WEXT]: Reduce inline abuse.
[WEXT]: Move EXPORT_SYMBOL statements where they belong.
[WEXT]: Cleanup early ioctl call path.
[WEXT]: Remove options.
[WEXT]: Remove dead debug code.
[WEXT]: Clean up how wext is called.
[WEXT]: Move to net/wireless
[AFS]: Eliminate cmpxchg() usage in vlocation code.
[RXRPC]: Fix pointers passed to bitops.
[RXRPC]: Remove bogus atomic_* overrides.
[AFS]: Fix u64 printing in debug logging.
[AFS]: Add "directory write" support.
[AFS]: Implement the CB.InitCallBackState3 operation.
...
27 Apr, 2007
25 commits
-
SPIN_LOCK_UNLOCKED cleanup,use __SPIN_LOCK_UNLOCKED instead.
Signed-off-by: Milind Arun Choudhary
Cc: Heiko Carstens
Signed-off-by: Andrew Morton
Signed-off-by: Martin Schwidefsky -
Generate uevents for all cpus if cpu capability changes. This can
happen e.g. because the cpus are overheating. The cpu capability can
be read via /sys/devices/system/cpu/cpuN/capability.Signed-off-by: Martin Schwidefsky
Signed-off-by: Heiko Carstens -
Use only capital letters for defines.
Cc: Peter Oberparleiter
Signed-off-by: Stefan Haberland
Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky -
Reopen of /dev/account failed. The IUCV path has to be terminated
in vmlogrdr_release.Signed-off-by: Ursula Braun
Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky -
Add explicit sclp initialization for those sclp users that do not
register with the interface.Signed-off-by: Peter Oberparleiter
Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky -
A patch for the CTC / ESCON network driver. Switch from kmalloc to kzalloc
when appropriate, remove some unnecessary kmalloc casts too. Since I have no
s390 machine, I didn't compile it but I examined it carefully.Signed-off-by: "Ahmed S. Darwish"
Cc: Frank Pavlic
Cc: Ursula Braun
Signed-off-by: Andrew Morton
Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky -
s390 machines provide hardware support for creating Linux dumps on SCSI
disks. For creating a dump a special purpose dump Linux is used. The first
32 MB of memory are saved by the hardware before the dump Linux is
booted. Via an SCLP interface, the saved memory can be accessed from
Linux. This patch exports memory and registers of the crashed Linux to
userspace via a debugfs file. For more information refer to
Documentation/s390/zfcpdump.txt, which is included in this patch.Signed-off-by: Michael Holzheu
Signed-off-by: Martin Schwidefsky
Signed-off-by: Heiko Carstens -
Specifying 'ipldev' in the dasd= kernel parameter will automatically
activate the boot device for use by the dasd driver.Signed-off-by: Peter Oberparleiter
Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky -
This patch adds a sysfs-attribute 'status' to make the DASD device-status
accessible from user-space. In addition, the DASD driver generates an
uevent(CHANGE) for the ccw-device on each device-status change.
This enables user-space applications (e.g. udev) to do related processing.Signed-off-by: Horst Hummel
Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky -
We get this:
Section mismatch: reference to .init.text:con3270_consetup from .data
between 'con3270' (at offset 0x45c8) and 'con3270_fn'
Section mismatch: reference to .init.text:con3215_consetup from .data
between 'con3215' (at offset 0x4678) and
'raw3215_ccw_driver'Since there is no difference between a non present console setup
function and one that returns only 0 remove them.Signed-off-by: Martin Schwidefsky
Signed-off-by: Heiko Carstens -
We used to unregister ccw devices not directly from the I/O
subchannel remove function in order to avoid lifelocks on the
css bus semaphore. This semaphore is gone, and there is no reason
to not unregister the ccw device directly (it is even better since
it is more in keeping with the goal of immediate disconnect).Signed-off-by: Cornelia Huck
Signed-off-by: Martin Schwidefsky -
We allocage two pages when channel path measurements are enabled
via cm_enable. We must not forget to free them again when
channel path measurements are disabled again.Signed-off-by: Cornelia Huck
Signed-off-by: Martin Schwidefsky -
Introduce a mutex for struct ccwgroup to prevent simuntaneous
register/unregister on the same ccwgroup device.Signed-off-by: Cornelia Huck
Signed-off-by: Martin Schwidefsky -
Signed-off-by: Cornelia Huck
Signed-off-by: Martin Schwidefsky -
Ensure that channel-path related subchannel data is only retrieved and
used when it is valid and that it is updated when it may have changed.Signed-off-by: Peter Oberparleiter
Signed-off-by: Martin Schwidefsky -
Use a bitmap for indicating which subchannels require evaluation
instead of allocating memory for each evaluation request. This
approach reduces memory consumption during recovery in case of
massive evaluation request occurrence and removes the need for
memory allocation failure handling.Cc: Heiko Carstens
Signed-off-by: Peter Oberparleiter
Signed-off-by: Martin Schwidefsky -
Path verification triggered by changes to the available CHPIDs will be
interrupted by another change but not re-started. This results in an
invalid path mask.
To solve this make sure to completely re-start path verification when
changing the available paths.Signed-off-by: Stefan Bader
Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky -
Convert ccw_uevent to use add_uevent_var and adapt snprint_alias.
Signed-off-by: Cornelia Huck
Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky -
Add a new attribute to the channel-path sysfs directory through which
channel-path configure operations can be triggered. Also listen for
hardware events requesting channel-path configure operations and
process them accordingly.Signed-off-by: Peter Oberparleiter
Signed-off-by: Martin Schwidefsky
Signed-off-by: Heiko Carstens -
Detangle the online_store code and make it more readable.
Signed-off-by: Cornelia Huck
Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky -
Check validity flag of CHPID description data before continuing with
channel-path initialization.Signed-off-by: Peter Oberparleiter
Signed-off-by: Martin Schwidefsky -
Signed-off-by: Peter Oberparleiter
Signed-off-by: Martin Schwidefsky
Signed-off-by: Heiko Carstens -
Channel path status can now be modified by writing '0' and '1'
to the sysfs status attribute in addition to 'offline' and
'online' respectively.Signed-off-by: Peter Oberparleiter
Signed-off-by: Martin Schwidefsky
Signed-off-by: Heiko Carstens -
Introduce data type for channel-path IDs.
Signed-off-by: Peter Oberparleiter
Signed-off-by: Martin Schwidefsky
Signed-off-by: Heiko Carstens -
Clean interface between cio and ipl code, so Peter stops complaining.
Signed-off-by: Martin Schwidefsky
Signed-off-by: Heiko Carstens
26 Apr, 2007
11 commits
-
To clearly state the intent of copying to linear sk_buffs, _offset being a
overly long variant but interesting for the sake of saving some bytes.Signed-off-by: Arnaldo Carvalho de Melo
-
To clearly state the intent of copying from linear sk_buffs, _offset being a
overly long variant but interesting for the sake of saving some bytes.Signed-off-by: Arnaldo Carvalho de Melo
-
So that it is also an offset from skb->head, reduces its size from 8 to 4 bytes
on 64bit architectures, allowing us to combine the 4 bytes hole left by the
layer headers conversion, reducing struct sk_buff size to 256 bytes, i.e. 4
64byte cachelines, and since the sk_buff slab cache is SLAB_HWCACHE_ALIGN...
:-)Many calculations that previously required that skb->{transport,network,
mac}_header be first converted to a pointer now can be done directly, being
meaningful as offsets or pointers.Signed-off-by: Arnaldo Carvalho de Melo
Signed-off-by: David S. Miller -
For the places where we need a pointer to the transport header, it is
still legal to touch skb->h.raw directly if just adding to,
subtracting from or setting it to another layer header.Signed-off-by: Arnaldo Carvalho de Melo
Signed-off-by: David S. Miller -
Signed-off-by: Arnaldo Carvalho de Melo
Signed-off-by: David S. Miller -
The ip_hdrlen() buddy, created to reduce the number of skb->h.th-> uses and to
avoid the longer, open coded equivalent.Ditched a no-op in bnx2 in the process.
I wonder if we should have a BUG_ON(skb->h.th->doff < 5) in tcp_optlen()...
Signed-off-by: Arnaldo Carvalho de Melo
Signed-off-by: David S. Miller -
Now the skb->nh union has just one member, .raw, i.e. it is just like the
skb->mac union, strange, no? I'm just leaving it like that till the transport
layer is done with, when we'll rename skb->mac.raw to skb->mac_header (or
->mac_header_offset?), ditto for ->{h,nh}.Signed-off-by: Arnaldo Carvalho de Melo
Signed-off-by: David S. Miller -
Signed-off-by: Arnaldo Carvalho de Melo
Signed-off-by: David S. Miller -
For the common sequence "skb->nh.iph->ihl * 4", removing a good number of open
coded skb->nh.iph uses, now to go after the rest...Just out of curiosity, here are the idioms found to get the same result:
skb->nh.iph->ihl << 2
skb->nh.iph->ihl<nh.iph->ihl * 4
skb->nh.iph->ihl*4
(skb->nh.iph)->ihl * sizeof(u32)Signed-off-by: Arnaldo Carvalho de Melo
Signed-off-by: David S. Miller -
For the places where we need a pointer to the network header, it is still legal
to touch skb->nh.raw directly if just adding to, subtracting from or setting it
to another layer header.Signed-off-by: Arnaldo Carvalho de Melo
Signed-off-by: David S. Miller -
For the places where we need a pointer to the mac header, it is still legal to
touch skb->mac.raw directly if just adding to, subtracting from or setting it
to another layer header.This one also converts some more cases to skb_reset_mac_header() that my
regex missed as it had no spaces before nor after '=', ugh.Signed-off-by: Arnaldo Carvalho de Melo
Signed-off-by: David S. Miller