* Re: [PATCH] dl2k: nulify fraginfo after unmap
From: David Miller @ 2011-01-27 22:24 UTC (permalink / raw)
To: sgruszka; +Cc: netdev
In-Reply-To: <20110126104521.GA2431@redhat.com>
From: Stanislaw Gruszka <sgruszka@redhat.com>
Date: Wed, 26 Jan 2011 11:45:42 +0100
> Patch fixes: "DMA-API: device driver tries to free an invalid DMA
> memory address" warning reported here:
> https://bugzilla.redhat.com/show_bug.cgi?id=639824
>
> Reported-by: Frantisek Hanzlik <franta@hanzlici.cz>
> Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Applied.
^ permalink raw reply
* Re: [PATCH] econet: remove compiler warnings
From: David Miller @ 2011-01-27 22:24 UTC (permalink / raw)
To: philb; +Cc: eric.dumazet, netdev
In-Reply-To: <20110126131959.GF3010@hetzner>
From: Phil Blundell <philb@gnu.org>
Date: Wed, 26 Jan 2011 14:19:59 +0100
> On Wed, Jan 26, 2011 at 11:04:18AM +0100, Eric Dumazet wrote:
>> net/econet/af_econet.c: In function ‘econet_sendmsg’:
>> net/econet/af_econet.c:494: warning: label ‘error’ defined but not used
>> net/econet/af_econet.c:268: warning: unused variable ‘sk’
>>
>> Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
>
> Thanks, looks sensible.
>
> Acked-by: Phil Blundell <philb@gnu.org>
Applied, thanks everyone.
^ permalink raw reply
* Re: [PATCH net-next-2.6] sungem: Use net_device's internal stats
From: David Miller @ 2011-01-27 22:24 UTC (permalink / raw)
To: dkirjanov; +Cc: netdev
In-Reply-To: <20110127195412.GA25216@hera.kernel.org>
From: Denis Kirjanov <dkirjanov@kernel.org>
Date: Thu, 27 Jan 2011 19:54:12 +0000
> Use net_device_stats instance from the struct net_device.
>
> Signed-off-by: Denis Kirjanov <dkirjanov@kernel.org>
Applied, thank you.
^ permalink raw reply
* Re: [PATCH] xen: netfront: handle incoming GSO SKBs which are not CHECKSUM_PARTIAL
From: David Miller @ 2011-01-27 22:23 UTC (permalink / raw)
To: ian.campbell; +Cc: netdev, jeremy, xen-devel
In-Reply-To: <1296137643-24814-1-git-send-email-ian.campbell@citrix.com>
From: Ian Campbell <ian.campbell@citrix.com>
Date: Thu, 27 Jan 2011 14:14:03 +0000
> The Linux network stack expects all GSO SKBs to have ip_summed ==
> CHECKSUM_PARTIAL (which implies that the frame contains a partial
> checksum) and the Xen network ring protocol similarly expects an SKB
> which has GSO set to also have NETRX_csum_blank (which also implies a
> partial checksum).
>
> However there have been cases of buggy guests which mark a frame as
> GSO but do not set csum_blank. If we detect that we a receiving such a
> frame (which manifests as ip_summed != PARTIAL && skb_is_gso) then
> force the SKB to partial and recalculate the checksum, since we cannot
> rely on the peer having done so if they have not set csum_blank.
>
> Add an ethtool stat to track occurances of this event.
>
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Looks great, applied, thanks Ian.
^ permalink raw reply
* Re: [PATCH net-next-2.6] drivers/net: remove some rcu sparse warnings
From: David Miller @ 2011-01-27 22:22 UTC (permalink / raw)
To: eric.dumazet; +Cc: netdev, mchan, arnd, eilong
In-Reply-To: <1296106103.1783.114.camel@edumazet-laptop>
From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Thu, 27 Jan 2011 06:28:23 +0100
> Add missing __rcu annotations and helpers.
> minor : Fix some rcu_dereference() calls in macvtap
>
> Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Applied.
^ permalink raw reply
* Re: [PATCH net-next-2.6] net: fix dev_seq_next()
From: David Miller @ 2011-01-27 22:22 UTC (permalink / raw)
To: eric.dumazet; +Cc: paulmck, netdev
In-Reply-To: <1296101282.1783.54.camel@edumazet-laptop>
From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Thu, 27 Jan 2011 05:08:02 +0100
> [PATCH net-next-2.6] net: fix dev_seq_next()
>
> Commit c6d14c84566d (net: Introduce for_each_netdev_rcu() iterator)
> added a race in dev_seq_next().
>
> The rcu_dereference() call should be done _before_ testing the end of
> list, or we might return a wrong net_device if a concurrent thread
> changes net_device list under us.
>
> Note : discovered thanks to a sparse warning :
>
> net/core/dev.c:3919:9: error: incompatible types in comparison expression
> (different address spaces)
>
> Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
> CC: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Applied.
^ permalink raw reply
* pull request: wireless-next-2.6 2011-01-27
From: John W. Linville @ 2011-01-27 21:55 UTC (permalink / raw)
To: davem; +Cc: linux-wireless, netdev
Dave,
Here is the first wireless pull request for the 2.6.39 cycle.
This includes the usual batch of driver updates, with ath5k, ath9k, and
iwlwifi giving their usual strong showings. Of note, ath9k gets some
benefits from Ben Greear's work with multiple vifs, ath5k (and cfg80211)
gets some support for 802.11j thanks to Bruno Randolf, and iwlwifi gains
support for a new hardware series from Intel. carl9170, mwl8k, and
rt2x00 get some action as well, as does mac80211.
Please let me know if there are problems!
Thanks,
John
---
The following changes since commit b4e69ac670d71b5748dc81e536b2cb103489badd:
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 (2011-01-26 13:49:30 -0800)
are available in the git repository at:
ssh://master.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6.git master
Ben Greear (14):
mac80211: Show max retry-counts in kernel messages.
ath9k: Fix up hardware mode and beacons with multiple vifs.
mac80211: Fix skb-copy failure debug message.
ath9k: Show some live tx-queue values in debugfs.
ath9k: Initialize ah->hw
ath9k: Add more information to debugfs xmit file.
ath9k: Remove un-used member from ath_node.
ath9k: Ensure xmit makes progress.
ath9k: Add counters to distinquish AMPDU enqueues.
ath9k: Keep track of stations for debugfs.
ath9k: More xmit queue debugfs information.
ath9k: Restart xmit logic in xmit watchdog.
ath9k: Add 'misc' file to debugfs, fix queue indexes.
ath9k: Try more than one queue when scheduling new aggregate.
Bruno Randolf (9):
cfg80211: Extend channel to frequency mapping for 802.11j
ath5k: Use mac80211 channel mapping function
ath5k: Rename ath5k_copy_channels
ath5k: Add 802.11j 4.9GHz channels to allowed channels
ath5: Remove unused CTL definitions
ath5k: Remove unused sc->curmode
ath5k: Remove redundant sc->curband
ath5k: Simplify loop when setting up channels
ath5k: ath5k_setup_channels cleanup and whitespace
Christian Lamparter (3):
carl9170: update fw/hw headers
carl9170: enable wake-on-lan feature testing
carl9170: utilize fw seq counter for mgmt/non-QoS data frames
Felix Fietkau (11):
ath9k: fix bogus sequence number increases on aggregation tid flush
ath9k: fix initial sequence number after starting an ampdu session
ath9k: reinitialize block ack window data when starting aggregation
ath9k: reduce the likelihood of baseband hang check false positives
ath9k_hw: partially revert "fix dma descriptor rx error bit parsing"
ath9k: try more than one tid when scheduling a new aggregate
ath9k: fix excessive BAR sending when a frame exceeds its retry limit
mac80211: drop non-auth 3-addr data frames when running as a 4-addr station
ath9k: remove a bogus error message
ath9k_hw: replace magic values in register writes with proper defines
ath9k: fix misplaced debug code
Jay Sternberg (1):
iwlwifi: correct debugfs data dumped from sram
Joel A Fernandes (1):
mac80211: Rewrote code for checking if destinations are proxied.
Johannes Berg (11):
mac80211: don't return beacons when mesh is disabled
mac80211: track receiver's aggregation reorder buffer size
mac80211: allow advertising correct maximum aggregate size
iwlagn: make iwl_rx_handle static
iwlagn: add support for waiting for notifications
iwlagn: properly wait for PAN disable
iwlagn: return error if PAN disable timeout
iwlwifi: fix 4965 notification wait setup
iwlwifi: implement remain-on-channel
iwlwifi: replace minimum slot time constant
mac80211: use DECLARE_EVENT_CLASS
John W. Linville (1):
Merge branch 'wireless-next-2.6' of git://git.kernel.org/.../iwlwifi/iwlwifi-2.6
Luciano Coelho (1):
mac80211: add hw configuration for max ampdu buffer size
Meenakshi Venkataraman (1):
iwlagn: Enable idle powersave mode in 1000 series
Mohammed Shafi Shajakhan (1):
ath9k: clean up enums and unused macros
Nick Ledovskikh (1):
mac80211:mesh_mpp_table_grow call should depend on MESH_WORK_GROW_MPP_TABLE flag.
Nishant Sarmukadam (4):
mwl8k: Modify add_dma_header to include pad parameters
mwl8k: Add encapsulation of data packet for crypto
mwl8k: Set mac80211 rx status flags appropriately when hw crypto is enabled
mwl8k: Enable HW encryption for AP mode
RA-Jay Hung (2):
rt2x00: Fix radio off hang issue for PCIE interface
rt2x00: Fix and fine-tune rf registers for RT3070/RT3071/RT3090
Rajkumar Manoharan (3):
ath9k: preserve caldata history buffer across scanning
ath9k_htc: keep calibrated noise floor value for oper channel
ath9k_hw: fix carrier leakage calibration for AR9271
Senthil Balasubramanian (2):
ath9k_hw: Fix incorrect macversion and macrev checks
ath9k_hw: read and backup AR_WA register value even before chip reset on.
Sujith Manoharan (2):
ath9k_htc: Add multiple register read API
ath9k_hw: Offload USB eeprom reading to target
Wey-Yi Guy (11):
mac80211: mesh only parameter mppath maybe unused
iwlwifi: use mac80211 throughput trigger
iwlagn: remove reference to gen2a and gen2b
iwlagn: add 2000 series EEPROM version
iwlagn: 2000 series devices support
iwlagn: add 2000 series pci id
iwlagn: add 2000 series to Kconfig
iwlagn: remove Gen2 from Kconfig
iwlwifi: remove g2 from csr hw rev
iwlwifi: add hw rev for 2000 series devices
iwlwifi: initial P2P support
Wojciech Dubowik (1):
ath5k: Fix return codes for eeprom read functions.
drivers/net/wireless/ath/ar9170/main.c | 3 +-
drivers/net/wireless/ath/ath.h | 2 +
drivers/net/wireless/ath/ath5k/ahb.c | 7 +-
drivers/net/wireless/ath/ath5k/base.c | 95 ++---
drivers/net/wireless/ath/ath5k/base.h | 3 -
drivers/net/wireless/ath/ath5k/eeprom.c | 24 +-
drivers/net/wireless/ath/ath5k/eeprom.h | 28 +--
drivers/net/wireless/ath/ath5k/pci.c | 9 +-
drivers/net/wireless/ath/ath9k/ar9002_calib.c | 5 +-
drivers/net/wireless/ath/ath9k/ar9003_eeprom.c | 24 +-
drivers/net/wireless/ath/ath9k/ar9003_mac.c | 8 +-
drivers/net/wireless/ath/ath9k/ar9003_phy.h | 2 +
drivers/net/wireless/ath/ath9k/ath9k.h | 47 ++-
drivers/net/wireless/ath/ath9k/beacon.c | 16 +-
drivers/net/wireless/ath/ath9k/calib.c | 5 +-
drivers/net/wireless/ath/ath9k/debug.c | 279 ++++++++++++-
drivers/net/wireless/ath/ath9k/debug.h | 12 +-
drivers/net/wireless/ath/ath9k/eeprom.c | 32 ++
drivers/net/wireless/ath/ath9k/eeprom.h | 2 +
drivers/net/wireless/ath/ath9k/eeprom_4k.c | 41 ++-
drivers/net/wireless/ath/ath9k/eeprom_9287.c | 45 ++-
drivers/net/wireless/ath/ath9k/eeprom_def.c | 32 ++-
drivers/net/wireless/ath/ath9k/htc.h | 2 +-
drivers/net/wireless/ath/ath9k/htc_drv_init.c | 29 ++
drivers/net/wireless/ath/ath9k/htc_drv_main.c | 9 +-
drivers/net/wireless/ath/ath9k/hw.c | 21 +-
drivers/net/wireless/ath/ath9k/hw.h | 3 +
drivers/net/wireless/ath/ath9k/init.c | 10 +-
drivers/net/wireless/ath/ath9k/mac.c | 14 +-
drivers/net/wireless/ath/ath9k/main.c | 336 +++++++++++----
drivers/net/wireless/ath/ath9k/recv.c | 16 +-
drivers/net/wireless/ath/ath9k/virtual.c | 48 --
drivers/net/wireless/ath/ath9k/xmit.c | 164 +++++---
drivers/net/wireless/ath/carl9170/carl9170.h | 1 +
drivers/net/wireless/ath/carl9170/fw.c | 15 +
drivers/net/wireless/ath/carl9170/fwcmd.h | 1 +
drivers/net/wireless/ath/carl9170/fwdesc.h | 28 +-
drivers/net/wireless/ath/carl9170/hw.h | 25 +
drivers/net/wireless/ath/carl9170/main.c | 9 +-
drivers/net/wireless/ath/carl9170/tx.c | 3 +
drivers/net/wireless/ath/carl9170/version.h | 8 +-
drivers/net/wireless/ath/carl9170/wlan.h | 20 +-
drivers/net/wireless/iwlwifi/Kconfig | 26 +-
drivers/net/wireless/iwlwifi/Makefile | 1 +
drivers/net/wireless/iwlwifi/iwl-1000.c | 1 +
drivers/net/wireless/iwlwifi/iwl-2000.c | 556 ++++++++++++++++++++++++
drivers/net/wireless/iwlwifi/iwl-3945-led.c | 27 --
drivers/net/wireless/iwlwifi/iwl-3945.c | 5 +-
drivers/net/wireless/iwlwifi/iwl-4965.c | 5 +
drivers/net/wireless/iwlwifi/iwl-6000.c | 52 ++--
drivers/net/wireless/iwlwifi/iwl-agn-hcmd.c | 18 +-
drivers/net/wireless/iwlwifi/iwl-agn-led.c | 14 +-
drivers/net/wireless/iwlwifi/iwl-agn-led.h | 1 +
drivers/net/wireless/iwlwifi/iwl-agn-lib.c | 51 ++-
drivers/net/wireless/iwlwifi/iwl-agn-rxon.c | 38 ++-
drivers/net/wireless/iwlwifi/iwl-agn-tx.c | 9 +-
drivers/net/wireless/iwlwifi/iwl-agn.c | 177 ++++++++-
drivers/net/wireless/iwlwifi/iwl-agn.h | 30 ++-
drivers/net/wireless/iwlwifi/iwl-commands.h | 6 +
drivers/net/wireless/iwlwifi/iwl-core.c | 10 +-
drivers/net/wireless/iwlwifi/iwl-core.h | 14 -
drivers/net/wireless/iwlwifi/iwl-csr.h | 14 +-
drivers/net/wireless/iwlwifi/iwl-debugfs.c | 106 +++---
drivers/net/wireless/iwlwifi/iwl-dev.h | 57 ++-
drivers/net/wireless/iwlwifi/iwl-eeprom.h | 26 +-
drivers/net/wireless/iwlwifi/iwl-hcmd.c | 1 +
drivers/net/wireless/iwlwifi/iwl-led.c | 201 ++++-----
drivers/net/wireless/iwlwifi/iwl-led.h | 16 +-
drivers/net/wireless/iwlwifi/iwl-legacy.c | 4 -
drivers/net/wireless/iwlwifi/iwl3945-base.c | 8 +-
drivers/net/wireless/iwmc3200wifi/cfg80211.c | 3 +-
drivers/net/wireless/iwmc3200wifi/rx.c | 7 +-
drivers/net/wireless/libertas/cfg.c | 6 +-
drivers/net/wireless/mac80211_hwsim.c | 3 +-
drivers/net/wireless/mwl8k.c | 456 +++++++++++++++++++-
drivers/net/wireless/rt2x00/rt2800.h | 6 +
drivers/net/wireless/rt2x00/rt2800lib.c | 34 +-
drivers/net/wireless/rt2x00/rt2800lib.h | 3 +-
drivers/net/wireless/rt2x00/rt2800pci.c | 36 +--
drivers/net/wireless/rt2x00/rt2x00dev.c | 5 +-
drivers/net/wireless/rtlwifi/core.c | 3 +-
drivers/net/wireless/wl1251/rx.c | 3 +-
drivers/net/wireless/wl12xx/rx.c | 2 +-
include/net/cfg80211.h | 3 +-
include/net/mac80211.h | 20 +-
net/mac80211/agg-rx.c | 7 +-
net/mac80211/agg-tx.c | 23 +-
net/mac80211/driver-ops.h | 6 +-
net/mac80211/driver-trace.h | 213 ++--------
net/mac80211/ibss.c | 3 +-
net/mac80211/main.c | 1 +
net/mac80211/mesh.c | 4 +-
net/mac80211/mlme.c | 16 +-
net/mac80211/rx.c | 27 +-
net/mac80211/scan.c | 3 +-
net/mac80211/sta_info.h | 2 +
net/mac80211/tx.c | 17 +-
net/wireless/reg.c | 6 +-
net/wireless/util.c | 36 +-
net/wireless/wext-compat.c | 5 +-
100 files changed, 2886 insertions(+), 1030 deletions(-)
create mode 100644 drivers/net/wireless/iwlwifi/iwl-2000.c
Omnibus patch is available here:
http://www.kernel.org/pub/linux/kernel/people/linville/wireless-next-2.6-2011-01-27.patch.bz2
--
John W. Linville Someday the world will need a hero, and you
linville@tuxdriver.com might be all we have. Be ready.
^ permalink raw reply
* Re: SO_REUSEPORT - can it be done in kernel?
From: Tom Herbert @ 2011-01-27 21:32 UTC (permalink / raw)
To: Daniel Baluta; +Cc: netdev
In-Reply-To: <AANLkTimDtaV=WhZUUEivg3_vEUeUk3_WQSs09h7USiUj@mail.gmail.com>
On Thu, Jan 27, 2011 at 2:07 AM, Daniel Baluta <daniel.baluta@gmail.com> wrote:
> Hi Tom,
>
> How did you solved the issue regarding scaling TCP listeners?
> I think SO_REUSEPORT proposed by patch [1] can be a good
> start. Where there any follow ups?
>
As Bill mentioned we are continue to work on the TCP issues. Looks
like modifying the TCP listener structures will probably be required.
> Also, solving the problem in users pace can be an option. I want
> to run multiple instances of a DNS server on a multi core system.
> Any suggestions would be welcomed.
>
> SO_REUSEPORT option seems to be already there [2]. Where
> there any plans to have a kernel implementation?
>
Yes, we are still planning this. The UDP implementation for my
earlier patch should be usable to try for DNS/UDP-- this is in fact
where we saw a major performance gain. Eric Dumazet had some nice
improvements that should probably be looked at also.
Tom
^ permalink raw reply
* Re: Network performance with small packets
From: Shirley Ma @ 2011-01-27 21:30 UTC (permalink / raw)
To: David Miller; +Cc: mst, steved, kvm, netdev
In-Reply-To: <20110127.130240.104065182.davem@davemloft.net>
On Thu, 2011-01-27 at 13:02 -0800, David Miller wrote:
> > Interesting. Could this is be a variant of the now famuous
> bufferbloat then?
>
> Sigh, bufferbloat is the new global warming... :-/
Yep, some places become colder, some other places become warmer; Same as
BW results, sometimes faster, sometimes slower. :)
Shirley
^ permalink raw reply
* Re: Network performance with small packets
From: David Miller @ 2011-01-27 21:02 UTC (permalink / raw)
To: mst; +Cc: mashirle, steved, kvm, netdev
In-Reply-To: <20110127200548.GE5228@redhat.com>
From: "Michael S. Tsirkin" <mst@redhat.com>
Date: Thu, 27 Jan 2011 22:05:48 +0200
> Interesting. Could this is be a variant of the now famuous bufferbloat then?
Sigh, bufferbloat is the new global warming... :-/
^ permalink raw reply
* Re: [RFC PATCH] net: Implement read-only protection and COW'ing of metrics.
From: David Miller @ 2011-01-27 20:29 UTC (permalink / raw)
To: eric.dumazet; +Cc: netdev
In-Reply-To: <1296123612.3027.15.camel@edumazet-laptop>
From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Thu, 27 Jan 2011 11:20:12 +0100
> Hmm, reading again, I realize the rt->fi was set only when installing
> the readonly metrics, so ignore my previous mail.
Hehe, I was so eager to explain that I replied to it already :-)
^ permalink raw reply
* Re: [RFC PATCH] net: Implement read-only protection and COW'ing of metrics.
From: David Miller @ 2011-01-27 20:28 UTC (permalink / raw)
To: eric.dumazet; +Cc: netdev
In-Reply-To: <1296122511.3027.11.camel@edumazet-laptop>
From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Thu, 27 Jan 2011 11:01:51 +0100
> Since you use cmpxchg() to permut the dst->_metrics, I feel this rt->fi
> needs some protection as well. Maybe store fi pointer inside the metrics
> instead of dst, or else you need a spinlock to perform the whole
> transaction (change dst->_metrics & rt->fi) ?
I think this is OK, because there are only two points at which the
"rt->fi" is tested and (conditionally) released.
1) At dst destruction time, which is when no other references may
exist to the dst.
2) At COW time, and here we know a) we are the one and only entity
which successfully COW'd the metrics and b) there is at least our
reference to the dst and therefore dst destroy (and therefore case
#1) may not execute in parallel with us.
So I think it's safe.
^ permalink raw reply
* Re: Network performance with small packets
From: Shirley Ma @ 2011-01-27 20:15 UTC (permalink / raw)
To: Michael S. Tsirkin; +Cc: Steve Dobbelstein, kvm, netdev
In-Reply-To: <20110127200548.GE5228@redhat.com>
On Thu, 2011-01-27 at 22:05 +0200, Michael S. Tsirkin wrote:
> Interesting. Could this is be a variant of the now famuous bufferbloat
> then?
>
> I guess we could drop some packets if we see we are not keeping up.
> For
> example if we see that the ring is > X% full, we could quickly
> complete
> Y% without transmitting packets on. Or maybe we should drop some bytes
> not packets.
It's worth to try to figure out what's the best approach. I will make a
patch.
> >
> > Requesting guest notification and extra interrupts is what we want
> to
> > avoid to reduce VM exits for saving CPUs. I don't think it's good.
>
> Yes but how do you explain regression?
> One simple theory is that guest net stack became faster
> and so the host can't keep up.
Yes, that's what I think here. Some qdisc code has been changed
recently.
> >
> > By polling the vq a bit more aggressively, you meant vhost, right?
> >
> > Shirley
>
> Yes.
I had a similar patch before, I can modify it and test it out.
Shirley
^ permalink raw reply
* Re: Network performance with small packets
From: Michael S. Tsirkin @ 2011-01-27 20:05 UTC (permalink / raw)
To: Shirley Ma; +Cc: Steve Dobbelstein, kvm, netdev
In-Reply-To: <1296157547.1640.45.camel@localhost.localdomain>
On Thu, Jan 27, 2011 at 11:45:47AM -0800, Shirley Ma wrote:
> On Thu, 2011-01-27 at 21:31 +0200, Michael S. Tsirkin wrote:
> > Well slowing down the guest does not sound hard - for example we can
> > request guest notifications, or send extra interrupts :)
> > A slightly more sophisticated thing to try is to
> > poll the vq a bit more aggressively.
> > For example if we handled some requests and now tx vq is empty,
> > reschedule and yeild. Worth a try?
>
> I used dropping packets in high level to slow down TX.
> I am still
> thinking what's the right the approach here.
Interesting. Could this is be a variant of the now famuous bufferbloat then?
I guess we could drop some packets if we see we are not keeping up. For
example if we see that the ring is > X% full, we could quickly complete
Y% without transmitting packets on. Or maybe we should drop some bytes
not packets.
>
> Requesting guest notification and extra interrupts is what we want to
> avoid to reduce VM exits for saving CPUs. I don't think it's good.
Yes but how do you explain regression?
One simple theory is that guest net stack became faster
and so the host can't keep up.
>
> By polling the vq a bit more aggressively, you meant vhost, right?
>
> Shirley
Yes.
^ permalink raw reply
* [PATCH net-next-2.6] sungem: Use net_device's internal stats
From: Denis Kirjanov @ 2011-01-27 19:54 UTC (permalink / raw)
To: davem; +Cc: netdev
Use net_device_stats instance from the struct net_device.
Signed-off-by: Denis Kirjanov <dkirjanov@kernel.org>
---
drivers/net/sungem.c | 58 +++++++++++++++++++++++++-------------------------
drivers/net/sungem.h | 1 -
2 files changed, 29 insertions(+), 30 deletions(-)
diff --git a/drivers/net/sungem.c b/drivers/net/sungem.c
index 1c5408f..c1a3448 100644
--- a/drivers/net/sungem.c
+++ b/drivers/net/sungem.c
@@ -320,28 +320,28 @@ static int gem_txmac_interrupt(struct net_device *dev, struct gem *gp, u32 gem_s
if (txmac_stat & MAC_TXSTAT_URUN) {
netdev_err(dev, "TX MAC xmit underrun\n");
- gp->net_stats.tx_fifo_errors++;
+ dev->stats.tx_fifo_errors++;
}
if (txmac_stat & MAC_TXSTAT_MPE) {
netdev_err(dev, "TX MAC max packet size error\n");
- gp->net_stats.tx_errors++;
+ dev->stats.tx_errors++;
}
/* The rest are all cases of one of the 16-bit TX
* counters expiring.
*/
if (txmac_stat & MAC_TXSTAT_NCE)
- gp->net_stats.collisions += 0x10000;
+ dev->stats.collisions += 0x10000;
if (txmac_stat & MAC_TXSTAT_ECE) {
- gp->net_stats.tx_aborted_errors += 0x10000;
- gp->net_stats.collisions += 0x10000;
+ dev->stats.tx_aborted_errors += 0x10000;
+ dev->stats.collisions += 0x10000;
}
if (txmac_stat & MAC_TXSTAT_LCE) {
- gp->net_stats.tx_aborted_errors += 0x10000;
- gp->net_stats.collisions += 0x10000;
+ dev->stats.tx_aborted_errors += 0x10000;
+ dev->stats.collisions += 0x10000;
}
/* We do not keep track of MAC_TXSTAT_FCE and
@@ -469,20 +469,20 @@ static int gem_rxmac_interrupt(struct net_device *dev, struct gem *gp, u32 gem_s
u32 smac = readl(gp->regs + MAC_SMACHINE);
netdev_err(dev, "RX MAC fifo overflow smac[%08x]\n", smac);
- gp->net_stats.rx_over_errors++;
- gp->net_stats.rx_fifo_errors++;
+ dev->stats.rx_over_errors++;
+ dev->stats.rx_fifo_errors++;
ret = gem_rxmac_reset(gp);
}
if (rxmac_stat & MAC_RXSTAT_ACE)
- gp->net_stats.rx_frame_errors += 0x10000;
+ dev->stats.rx_frame_errors += 0x10000;
if (rxmac_stat & MAC_RXSTAT_CCE)
- gp->net_stats.rx_crc_errors += 0x10000;
+ dev->stats.rx_crc_errors += 0x10000;
if (rxmac_stat & MAC_RXSTAT_LCE)
- gp->net_stats.rx_length_errors += 0x10000;
+ dev->stats.rx_length_errors += 0x10000;
/* We do not track MAC_RXSTAT_FCE and MAC_RXSTAT_VCE
* events.
@@ -594,7 +594,7 @@ static int gem_abnormal_irq(struct net_device *dev, struct gem *gp, u32 gem_stat
if (netif_msg_rx_err(gp))
printk(KERN_DEBUG "%s: no buffer for rx frame\n",
gp->dev->name);
- gp->net_stats.rx_dropped++;
+ dev->stats.rx_dropped++;
}
if (gem_status & GREG_STAT_RXTAGERR) {
@@ -602,7 +602,7 @@ static int gem_abnormal_irq(struct net_device *dev, struct gem *gp, u32 gem_stat
if (netif_msg_rx_err(gp))
printk(KERN_DEBUG "%s: corrupt rx tag framing\n",
gp->dev->name);
- gp->net_stats.rx_errors++;
+ dev->stats.rx_errors++;
goto do_reset;
}
@@ -684,7 +684,7 @@ static __inline__ void gem_tx(struct net_device *dev, struct gem *gp, u32 gem_st
break;
}
gp->tx_skbs[entry] = NULL;
- gp->net_stats.tx_bytes += skb->len;
+ dev->stats.tx_bytes += skb->len;
for (frag = 0; frag <= skb_shinfo(skb)->nr_frags; frag++) {
txd = &gp->init_block->txd[entry];
@@ -696,7 +696,7 @@ static __inline__ void gem_tx(struct net_device *dev, struct gem *gp, u32 gem_st
entry = NEXT_TX(entry);
}
- gp->net_stats.tx_packets++;
+ dev->stats.tx_packets++;
dev_kfree_skb_irq(skb);
}
gp->tx_old = entry;
@@ -738,6 +738,7 @@ static __inline__ void gem_post_rxds(struct gem *gp, int limit)
static int gem_rx(struct gem *gp, int work_to_do)
{
+ struct net_device *dev = gp->dev;
int entry, drops, work_done = 0;
u32 done;
__sum16 csum;
@@ -782,15 +783,15 @@ static int gem_rx(struct gem *gp, int work_to_do)
len = (status & RXDCTRL_BUFSZ) >> 16;
if ((len < ETH_ZLEN) || (status & RXDCTRL_BAD)) {
- gp->net_stats.rx_errors++;
+ dev->stats.rx_errors++;
if (len < ETH_ZLEN)
- gp->net_stats.rx_length_errors++;
+ dev->stats.rx_length_errors++;
if (len & RXDCTRL_BAD)
- gp->net_stats.rx_crc_errors++;
+ dev->stats.rx_crc_errors++;
/* We'll just return it to GEM. */
drop_it:
- gp->net_stats.rx_dropped++;
+ dev->stats.rx_dropped++;
goto next;
}
@@ -843,8 +844,8 @@ static int gem_rx(struct gem *gp, int work_to_do)
netif_receive_skb(skb);
- gp->net_stats.rx_packets++;
- gp->net_stats.rx_bytes += len;
+ dev->stats.rx_packets++;
+ dev->stats.rx_bytes += len;
next:
entry = NEXT_RX(entry);
@@ -2472,7 +2473,6 @@ static int gem_resume(struct pci_dev *pdev)
static struct net_device_stats *gem_get_stats(struct net_device *dev)
{
struct gem *gp = netdev_priv(dev);
- struct net_device_stats *stats = &gp->net_stats;
spin_lock_irq(&gp->lock);
spin_lock(&gp->tx_lock);
@@ -2481,17 +2481,17 @@ static struct net_device_stats *gem_get_stats(struct net_device *dev)
* so we shield against this
*/
if (gp->running) {
- stats->rx_crc_errors += readl(gp->regs + MAC_FCSERR);
+ dev->stats.rx_crc_errors += readl(gp->regs + MAC_FCSERR);
writel(0, gp->regs + MAC_FCSERR);
- stats->rx_frame_errors += readl(gp->regs + MAC_AERR);
+ dev->stats.rx_frame_errors += readl(gp->regs + MAC_AERR);
writel(0, gp->regs + MAC_AERR);
- stats->rx_length_errors += readl(gp->regs + MAC_LERR);
+ dev->stats.rx_length_errors += readl(gp->regs + MAC_LERR);
writel(0, gp->regs + MAC_LERR);
- stats->tx_aborted_errors += readl(gp->regs + MAC_ECOLL);
- stats->collisions +=
+ dev->stats.tx_aborted_errors += readl(gp->regs + MAC_ECOLL);
+ dev->stats.collisions +=
(readl(gp->regs + MAC_ECOLL) +
readl(gp->regs + MAC_LCOLL));
writel(0, gp->regs + MAC_ECOLL);
@@ -2501,7 +2501,7 @@ static struct net_device_stats *gem_get_stats(struct net_device *dev)
spin_unlock(&gp->tx_lock);
spin_unlock_irq(&gp->lock);
- return &gp->net_stats;
+ return &dev->stats;
}
static int gem_set_mac_address(struct net_device *dev, void *addr)
diff --git a/drivers/net/sungem.h b/drivers/net/sungem.h
index 1990546..ede0178 100644
--- a/drivers/net/sungem.h
+++ b/drivers/net/sungem.h
@@ -994,7 +994,6 @@ struct gem {
u32 status;
struct napi_struct napi;
- struct net_device_stats net_stats;
int tx_fifo_sz;
int rx_fifo_sz;
--
1.7.3.4
^ permalink raw reply related
* Re: [PATCH RESEND 0/4] Fix kconfig breakage wrt to CONFIGFS_FS
From: Nicholas A. Bellinger @ 2011-01-27 19:52 UTC (permalink / raw)
To: Ingo Molnar
Cc: Linus Torvalds, linux-kernel, linux-fsdevel, linux-netdev,
Joel Becker, Randy Dunlap, Stephen Rothwell, Americo Wang,
David Miller, Andrew Morton
In-Reply-To: <20110127194157.GA7565@elte.hu>
On Thu, 2011-01-27 at 20:41 +0100, Ingo Molnar wrote:
> * Nicholas A. Bellinger <nab@linux-iscsi.org> wrote:
>
> > From: Nicholas Bellinger <nab@linux-iscsi.org>
> >
> > Hi Linus,
> >
> > The following four patches are to address recent Kconfig CONFIGFS_FS ->
> > 'select SYSFS' change for GFS2_FS, and 'depends && SYSFS && CONFIGFS_FS'
> > breakage for NETCONSOLE_DYNAMIC, DLM, and OCFS2_FS in .38-rc2.
> >
> > Please review and consider pulling from:
> >
> > git://git.kernel.org/pub/scm/linux/kernel/git/nab/scsi-post-merge-2.6.git for-linus-v2
>
> I had the original for-linus branch tested rather extensively, and that one had no
> problems. What's different in -v2?
>
Hi Ingo,
The extra code is in patch #1 that fixes an additional GFS2_FS warning
reported by Randy that appeared after the initial CONFIGFS_FS -> 'select
SYSFS' conversion.
This patch for GFS2_FS was in scsi-post-merge-2.6.git/for-linus, but was
not included in the shortlog/stat to Linus. So considering my current
(poor) record with Kconfig changes in mainline, I figured that sending
them out to the list one more time for review would make the most
sense. ;)
Thanks,
--nab
^ permalink raw reply
* Re: [PATCH RESEND 0/4] Fix kconfig breakage wrt to CONFIGFS_FS
From: Ingo Molnar @ 2011-01-27 19:41 UTC (permalink / raw)
To: Nicholas A. Bellinger
Cc: Linus Torvalds, linux-kernel, linux-fsdevel, linux-netdev,
Joel Becker, Randy Dunlap, Stephen Rothwell, Americo Wang,
David Miller, Andrew Morton
In-Reply-To: <1296155430-3796-1-git-send-email-nab@linux-iscsi.org>
* Nicholas A. Bellinger <nab@linux-iscsi.org> wrote:
> From: Nicholas Bellinger <nab@linux-iscsi.org>
>
> Hi Linus,
>
> The following four patches are to address recent Kconfig CONFIGFS_FS ->
> 'select SYSFS' change for GFS2_FS, and 'depends && SYSFS && CONFIGFS_FS'
> breakage for NETCONSOLE_DYNAMIC, DLM, and OCFS2_FS in .38-rc2.
>
> Please review and consider pulling from:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/nab/scsi-post-merge-2.6.git for-linus-v2
I had the original for-linus branch tested rather extensively, and that one had no
problems. What's different in -v2?
Thanks,
Ingo
^ permalink raw reply
* Re: [PATCH net-next-2.6] net: fix dev_seq_next()
From: Paul E. McKenney @ 2011-01-27 19:33 UTC (permalink / raw)
To: Eric Dumazet; +Cc: David Miller, netdev
In-Reply-To: <1296101282.1783.54.camel@edumazet-laptop>
On Thu, Jan 27, 2011 at 05:08:02AM +0100, Eric Dumazet wrote:
> Paul, the following comment in include/linux/rculist.h is misleading :
>
> "Why is there no list_empty_rcu()? Because list_empty() serves this
> purpose..."
>
> This is probably why I made the error ;)
>
> list_empty() has a meaning only if state cannot change right after its
> use.
>
> In an rcu_read_lock() section, state _can_ change, so there is no way
> list_empty() can be used at all.
My apologies for my messup!!!
So, there are two things that I need to fix:
1. There needs to be a list_empty_rcu() which contains an
rcu_access_pointer() in order to keep sparse happy.
2. The comment at the beginning of include/linux/rculist.h
needs to warn that the return value from this new
list_empty_rcu() API can become instantly obsolete,
so the caller must either hold the update-side lock
or be prepared to deal with obsolete values.
Or am I missing something?
Thanx, Paul
> Thanks
>
> [PATCH net-next-2.6] net: fix dev_seq_next()
>
> Commit c6d14c84566d (net: Introduce for_each_netdev_rcu() iterator)
> added a race in dev_seq_next().
>
> The rcu_dereference() call should be done _before_ testing the end of
> list, or we might return a wrong net_device if a concurrent thread
> changes net_device list under us.
>
> Note : discovered thanks to a sparse warning :
>
> net/core/dev.c:3919:9: error: incompatible types in comparison expression
> (different address spaces)
>
> Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
> CC: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
> ---
> Given this was discovered by code analysis rather than a bug report, I
> prepared a patch for net-next-2.6. Once fully tested, this could be
> backported to 2.6.33
>
> include/linux/netdevice.h | 9 ++++++++-
> net/core/dev.c | 11 +++++++----
> 2 files changed, 15 insertions(+), 5 deletions(-)
>
> diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
> index 8858422..c7d7074 100644
> --- a/include/linux/netdevice.h
> +++ b/include/linux/netdevice.h
> @@ -1447,7 +1447,7 @@ static inline struct net_device *next_net_device_rcu(struct net_device *dev)
> struct net *net;
>
> net = dev_net(dev);
> - lh = rcu_dereference(dev->dev_list.next);
> + lh = rcu_dereference(list_next_rcu(&dev->dev_list));
> return lh == &net->dev_base_head ? NULL : net_device_entry(lh);
> }
>
> @@ -1457,6 +1457,13 @@ static inline struct net_device *first_net_device(struct net *net)
> net_device_entry(net->dev_base_head.next);
> }
>
> +static inline struct net_device *first_net_device_rcu(struct net *net)
> +{
> + struct list_head *lh = rcu_dereference(list_next_rcu(&net->dev_base_head));
> +
> + return lh == &net->dev_base_head ? NULL : net_device_entry(lh);
> +}
> +
> extern int netdev_boot_setup_check(struct net_device *dev);
> extern unsigned long netdev_boot_base(const char *prefix, int unit);
> extern struct net_device *dev_getbyhwaddr_rcu(struct net *net, unsigned short type,
> diff --git a/net/core/dev.c b/net/core/dev.c
> index 1b4c07f..ddd5df2 100644
> --- a/net/core/dev.c
> +++ b/net/core/dev.c
> @@ -4051,12 +4051,15 @@ void *dev_seq_start(struct seq_file *seq, loff_t *pos)
>
> void *dev_seq_next(struct seq_file *seq, void *v, loff_t *pos)
> {
> - struct net_device *dev = (v == SEQ_START_TOKEN) ?
> - first_net_device(seq_file_net(seq)) :
> - next_net_device((struct net_device *)v);
> + struct net_device *dev = v;
> +
> + if (v == SEQ_START_TOKEN)
> + dev = first_net_device_rcu(seq_file_net(seq));
> + else
> + dev = next_net_device_rcu(dev);
>
> ++*pos;
> - return rcu_dereference(dev);
> + return dev;
> }
>
> void dev_seq_stop(struct seq_file *seq, void *v)
>
>
^ permalink raw reply
* Re: [PATCH] r8169: use RxFIFO overflow workaround for 8168c chipset
From: Ivan Vecera @ 2011-01-27 19:23 UTC (permalink / raw)
To: Francois Romieu; +Cc: netdev, Hayes
In-Reply-To: <20110127143219.GA7831@electric-eye.fr.zoreil.com>
On Thu, 2011-01-27 at 15:32 +0100, Francois Romieu wrote:
> Ivan Vecera <ivecera@redhat.com> :
> > I found that one of the 8168c chipsets (concretely XID 1c4000c0) starts
> > generating RxFIFO overflow errors. The result is an infinite loop in
> > interrupt handler as the RxFIFOOver is handled only for ...MAC_VER_11.
>
> Acked-by: as your patch ties it to a specific 8168 revision (CFG_METHOD_6
> in Realtek's parlance).
>
> Surprizing as it may seem, unconditionaly enabling it has not always
> produced the expected result. See 53f57357ff0afc37804f4e82ee3123e0c0a2cad6
> for instance. Realtek's r1868 driver ignores it most of time as well.
>
> Was it normal high-load or pktgen like high load ?
The test case was: Migration of the several kvm guests at the same time
between two hosts.
Ivan
^ permalink raw reply
* [PATCH 4/4] ocfs2: Make OCFS2_FS use select CONFIGFS_FS
From: Nicholas A. Bellinger @ 2011-01-27 19:10 UTC (permalink / raw)
To: Linus Torvalds
Cc: linux-kernel, linux-fsdevel, linux-netdev, Ingo Molnar,
Joel Becker, Randy Dunlap, Stephen Rothwell, Americo Wang,
David Miller, Andrew Morton, Nicholas Bellinger
In-Reply-To: <1296155430-3796-1-git-send-email-nab@linux-iscsi.org>
From: Nicholas Bellinger <nab@linux-iscsi.org>
Convert 'depends && SYSFS && CONFIGFS_FS' to 'select CONFIGFS_FS'
Reported-by: Joel Becker <jlbec@evilplan.org>
Signed-off-by: Nicholas A. Bellinger <nab@linux-iscsi.org>
---
fs/ocfs2/Kconfig | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/fs/ocfs2/Kconfig b/fs/ocfs2/Kconfig
index 77a8de5..bb03131 100644
--- a/fs/ocfs2/Kconfig
+++ b/fs/ocfs2/Kconfig
@@ -1,6 +1,7 @@
config OCFS2_FS
tristate "OCFS2 file system support"
- depends on NET && SYSFS && CONFIGFS_FS
+ depends on NET
+ select CONFIGFS_FS
select JBD2
select CRC32
select QUOTA
--
1.7.3.5
^ permalink raw reply related
* [PATCH 3/4] dlm: Make DLM use select CONFIGFS_FS
From: Nicholas A. Bellinger @ 2011-01-27 19:10 UTC (permalink / raw)
To: Linus Torvalds
Cc: linux-kernel, linux-fsdevel, linux-netdev, Ingo Molnar,
Joel Becker, Randy Dunlap, Stephen Rothwell, Americo Wang,
David Miller, Andrew Morton, Nicholas Bellinger
In-Reply-To: <1296155430-3796-1-git-send-email-nab@linux-iscsi.org>
From: Nicholas Bellinger <nab@linux-iscsi.org>
Convert 'depends && SYSFS && CONFIGFS_FS' to 'select CONFIGFS_FS'
Reported-by: Joel Becker <jlbec@evilplan.org>
Signed-off-by: Nicholas A. Bellinger <nab@linux-iscsi.org>
---
fs/dlm/Kconfig | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/fs/dlm/Kconfig b/fs/dlm/Kconfig
index 1897eb1..4f65a50 100644
--- a/fs/dlm/Kconfig
+++ b/fs/dlm/Kconfig
@@ -1,7 +1,7 @@
menuconfig DLM
tristate "Distributed Lock Manager (DLM)"
- depends on EXPERIMENTAL && INET
- depends on SYSFS && CONFIGFS_FS && (IPV6 || IPV6=n)
+ depends on EXPERIMENTAL && INET && (IPV6 || IPV6=n)
+ select CONFIGFS_FS
select IP_SCTP
help
A general purpose distributed lock manager for kernel or userspace
--
1.7.3.5
^ permalink raw reply related
* [PATCH 2/4] net: Make NETCONSOLE_DYNAMIC use select CONFIGFS_FS
From: Nicholas A. Bellinger @ 2011-01-27 19:10 UTC (permalink / raw)
To: Linus Torvalds
Cc: linux-kernel, linux-fsdevel, linux-netdev, Ingo Molnar,
Joel Becker, Randy Dunlap, Stephen Rothwell, Americo Wang,
David Miller, Andrew Morton, Nicholas Bellinger
In-Reply-To: <1296155430-3796-1-git-send-email-nab@linux-iscsi.org>
From: Nicholas Bellinger <nab@linux-iscsi.org>
Convert 'depends && SYSFS && CONFIGFS_FS' to 'select CONFIGFS_FS'
Reported-by: Joel Becker <jlbec@evilplan.org>
Reported-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Nicholas A. Bellinger <nab@linux-iscsi.org>
---
drivers/net/Kconfig | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index 0382332..3d23ebb 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -3389,7 +3389,8 @@ config NETCONSOLE
config NETCONSOLE_DYNAMIC
bool "Dynamic reconfiguration of logging targets"
- depends on NETCONSOLE && SYSFS && CONFIGFS_FS
+ depends on NETCONSOLE
+ select CONFIGFS_FS
help
This option enables the ability to dynamically reconfigure target
parameters (interface, IP addresses, port numbers, MAC addresses)
--
1.7.3.5
^ permalink raw reply related
* [PATCH 1/4] gfs2: Remove 'select SYSFS ...' from Kconfig
From: Nicholas A. Bellinger @ 2011-01-27 19:10 UTC (permalink / raw)
To: Linus Torvalds
Cc: linux-kernel, linux-fsdevel, linux-netdev, Ingo Molnar,
Joel Becker, Randy Dunlap, Stephen Rothwell, Americo Wang,
David Miller, Andrew Morton, Nicholas Bellinger
In-Reply-To: <1296155430-3796-1-git-send-email-nab@linux-iscsi.org>
From: Nicholas Bellinger <nab@linux-iscsi.org>
With CONFIGFS_FS now doing 'select SYSFS' by default, the extra
'select SYSFS if GFS2_FS_LOCKING_DLM' for GFS2_FS is now unnecessary.
Reported-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Nicholas A. Bellinger <nab@linux-iscsi.org>
---
fs/gfs2/Kconfig | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/fs/gfs2/Kconfig b/fs/gfs2/Kconfig
index c465ae0..ff0a8eb 100644
--- a/fs/gfs2/Kconfig
+++ b/fs/gfs2/Kconfig
@@ -3,7 +3,6 @@ config GFS2_FS
depends on (64BIT || LBDAF)
select DLM if GFS2_FS_LOCKING_DLM
select CONFIGFS_FS if GFS2_FS_LOCKING_DLM
- select SYSFS if GFS2_FS_LOCKING_DLM
select IP_SCTP if DLM_SCTP
select FS_POSIX_ACL
select CRC32
--
1.7.3.5
^ permalink raw reply related
* [PATCH RESEND 0/4] Fix kconfig breakage wrt to CONFIGFS_FS
From: Nicholas A. Bellinger @ 2011-01-27 19:10 UTC (permalink / raw)
To: Linus Torvalds
Cc: linux-kernel, linux-fsdevel, linux-netdev, Ingo Molnar,
Joel Becker, Randy Dunlap, Stephen Rothwell, Americo Wang,
David Miller, Andrew Morton, Nicholas Bellinger
From: Nicholas Bellinger <nab@linux-iscsi.org>
Hi Linus,
The following four patches are to address recent Kconfig CONFIGFS_FS ->
'select SYSFS' change for GFS2_FS, and 'depends && SYSFS && CONFIGFS_FS'
breakage for NETCONSOLE_DYNAMIC, DLM, and OCFS2_FS in .38-rc2.
Please review and consider pulling from:
git://git.kernel.org/pub/scm/linux/kernel/git/nab/scsi-post-merge-2.6.git for-linus-v2
currently against the latest linux-2.6.git/master HEAD:
commit 6fb1b304255efc5c4c93874ac8c066272e257e28
Merge: ac751ef 409550f
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date: Wed Jan 26 16:31:44 2011 +1000
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
Thanks,
Signed-off-by: Nicholas A. Bellinger <nab@linux-iscsi.org>
Nicholas Bellinger (4):
gfs2: Remove 'select SYSFS ...' from Kconfig
net: Make NETCONSOLE_DYNAMIC use select CONFIGFS_FS
dlm: Make DLM use select CONFIGFS_FS
ocfs2: Make OCFS2_FS use select CONFIGFS_FS
drivers/net/Kconfig | 3 ++-
fs/dlm/Kconfig | 4 ++--
fs/gfs2/Kconfig | 1 -
fs/ocfs2/Kconfig | 3 ++-
4 files changed, 6 insertions(+), 5 deletions(-)
--
1.7.3.5
^ permalink raw reply
* Re: [PATCH V10 01/15] time: Introduce timekeeping_inject_offset
From: John Stultz @ 2011-01-27 18:48 UTC (permalink / raw)
To: Richard Cochran, Richard Cochran
Cc: linux-kernel, linux-api, netdev, Alan Cox, Arnd Bergmann,
Christoph Lameter, David Miller, Krzysztof Halasa, Peter Zijlstra,
Rodolfo Giometti, Thomas Gleixner, Benjamin Herrenschmidt,
H. Peter Anvin, Ingo Molnar, Mike Frysinger, Paul Mackerras,
Russell King
In-Reply-To: <6aec014551fc1d34924d6a7bcf97769867c15ba9.1296124770.git.richard.cochran@omicron.at>
On Thu, 2011-01-27 at 11:54 +0100, John Stultz wrote:
> This adds a kernel-internal timekeeping interface to add or subtract
> a fixed amount from CLOCK_REALTIME. This makes it so kernel users or
> interfaces trying to do so do not have to read the time, then add an
> offset and then call settimeofday(), which adds some extra error in
> comparision to just simply adding the offset in the kernel timekeeping
> core.
>
> CC: Thomas Gleixner <tglx@linutronix.de>
> Signed-off-by: John Stultz <john.stultz@linaro.org>
> Signed-off-by: Richard Cochran <richard.cochran@omicron.at>
> ---
Hey Richard,
Something seems wrong with your mail sending script. It looks like your
sending the email under my name (John Stultz
<richardcochran@gmail.com>).
While I appreciate you preserving the path author, and the signoffs are
right, you really should send the email under your own name.
The proper style is to keep the mail-header From: the same (ie: Richard
Cochran <richardcochran@gmail.com>), but as the first line of the mail
body put:
From: Author Name <author@lemail.com>
thanks
-john
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox