18 Sep, 2009
1 commit
-
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (66 commits)
be2net: fix some cmds to use mccq instead of mbox
atl1e: fix 2.6.31-git4 -- ATL1E 0000:03:00.0: DMA-API: device driver frees DMA
pkt_sched: Fix qstats.qlen updating in dump_stats
ipv6: Log the affected address when DAD failure occurs
wl12xx: Fix print_mac() conversion.
af_iucv: fix race when queueing skbs on the backlog queue
af_iucv: do not call iucv_sock_kill() twice
af_iucv: handle non-accepted sockets after resuming from suspend
af_iucv: fix race in __iucv_sock_wait()
iucv: use correct output register in iucv_query_maxconn()
iucv: fix iucv_buffer_cpumask check when calling IUCV functions
iucv: suspend/resume error msg for left over pathes
wl12xx: switch to %pM to print the mac address
b44: the poll handler b44_poll must not enable IRQ unconditionally
ipv6: Ignore route option with ROUTER_PREF_INVALID
bonding: make ab_arp select active slaves as other modes
cfg80211: fix SME connect
rc80211_minstrel: fix contention window calculation
ssb/sdio: fix printk format warnings
p54usb: add Zcomax XG-705A usbid
...
16 Sep, 2009
1 commit
-
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (46 commits)
powerpc64: convert to dynamic percpu allocator
sparc64: use embedding percpu first chunk allocator
percpu: kill lpage first chunk allocator
x86,percpu: use embedding for 64bit NUMA and page for 32bit NUMA
percpu: update embedding first chunk allocator to handle sparse units
percpu: use group information to allocate vmap areas sparsely
vmalloc: implement pcpu_get_vm_areas()
vmalloc: separate out insert_vmalloc_vm()
percpu: add chunk->base_addr
percpu: add pcpu_unit_offsets[]
percpu: introduce pcpu_alloc_info and pcpu_group_info
percpu: move pcpu_lpage_build_unit_map() and pcpul_lpage_dump_cfg() upward
percpu: add @align to pcpu_fc_alloc_fn_t
percpu: make @dyn_size mandatory for pcpu_setup_first_chunk()
percpu: drop @static_size from first chunk allocators
percpu: generalize first chunk allocator selection
percpu: build first chunk allocators selectively
percpu: rename 4k first chunk allocator to page
percpu: improve boot messages
percpu: fix pcpu_reclaim() locking
...Fix trivial conflict as by Tejun Heo in kernel/sched.c
15 Sep, 2009
1 commit
-
Signed-off-by: Alexey Dobriyan
Signed-off-by: David S. Miller
24 Aug, 2009
5 commits
-
Now that RDS transports are no longer compiled-in to RDS core,
there is now the possibility that they will not be loaded. This
adds a helpful suggestion when rds_bind() fails to find a transport.Signed-off-by: Andy Grover
Signed-off-by: David S. Miller -
Now that transports can be loaded in arbitrary order,
it is important for rds_trans_get_preferred() to look
for them in a particular order, instead of walking the list
until it finds a transport that works for a given address.
Now, each transport registers for a specific transport slot,
and these are ordered so that preferred transports come first,
and then if they are not loaded, other transports are queried.Signed-off-by: Andy Grover
Signed-off-by: David S. Miller -
Enable the building of transports as modules.
Also, improve consistency of Kconfig messages in relation to other
protocols, and move build dependency on IB from the RDS core code
to the rds_rdma module.Signed-off-by: Andy Grover
Signed-off-by: David S. Miller -
Now that rdma and tcp transports will be modularized,
we need to export a number of functions so they can call them.Signed-off-by: Andy Grover
Signed-off-by: David S. Miller -
This code allows RDS to be tunneled over a TCP connection.
RDMA operations are disabled when using TCP transport,
but this frees RDS from the IB/RDMA stack dependency, and allows
it to be used with standard Ethernet adapters, or in a VM.Signed-off-by: Andy Grover
Signed-off-by: David S. Miller
06 Aug, 2009
2 commits
-
Elsewhere the sin_family field holds a value with a name of the form
AF_..., so it seems reasonable to do so here as well. Also the values of
PF_INET and AF_INET are the same.The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)//
@@
struct sockaddr_in sip;
@@(
sip.sin_family ==
- PF_INET
+ AF_INET
|
sip.sin_family !=
- PF_INET
+ AF_INET
|
sip.sin_family =
- PF_INET
+ AF_INET
)
//Signed-off-by: Julia Lawall
Signed-off-by: David S. Miller -
String literals are constant, and usually, we can also tag the array
of pointers const too, moving it to the .rodata section.Signed-off-by: Jan Engelhardt
Signed-off-by: David S. Miller
20 Jul, 2009
15 commits
-
Add a comment for what's going on. Remove negative logic.
I find this much easier to understand quickly, although
there are a few lines duplicated.Signed-off-by: Andy Grover
Signed-off-by: David S. Miller -
In iWARP code, node_type will always be RNIC
Signed-off-by: Andy Grover
Signed-off-by: David S. Miller -
The existing code treated page_shift as a variable, when in fact we
always want to have the fastreg page size be the same as the arch's
page size -- and it is, so this doesn't need to be a variable.Signed-off-by: Andy Grover
Signed-off-by: David S. Miller -
While FMRs allow significant flexibility in what size of pages they can use,
we really just want FMR pages to match CPU page size. Roland says we can
count on this always being supported, so this simplifies things.Signed-off-by: Andy Grover
Signed-off-by: David S. Miller -
Completion or congestion notifications were not being checked
if the socket went to sleep. This patch fixes that.Signed-off-by: Andy Grover
Signed-off-by: David S. Miller -
Signed-off-by: Andy Grover
Signed-off-by: David S. Miller -
Backwards compatibility with rds 3.0 causes protocol-
based flow control to be disabled as a side-effect.I don't want to pull out FC support from the IB transport
but I do want to document and keep the sysctl consistent
if possible.Signed-off-by: Andy Grover
Signed-off-by: David S. Miller -
Since RDS 3.0 and 3.1 have different packet formats,
we need to wait until after protocol negotiation
is complete to layout the rx buffers.Signed-off-by: Andy Grover
Signed-off-by: David S. Miller -
Protocol negotiation is logically a property of the
transports, so rds core need not set it.Signed-off-by: Andy Grover
Signed-off-by: David S. Miller -
Of course len is in bytes. Calling it data_len hopefully indicates
a little better what the variable is actually for.Signed-off-by: Andy Grover
Signed-off-by: David S. Miller -
Signed-off-by: Andy Grover
Signed-off-by: David S. Miller -
Signed-off-by: Andy Grover
Signed-off-by: David S. Miller -
The big differences between RDS 3.0 and 3.1 are protocol-level
flow control, and with 3.1 the header is in front of the data. The header
always ends up in the header buffer, and the data goes in the data page.In 3.0 our "header" is a trailer, and will end up either in the data
page, the header buffer, or split across the two. Since 3.1 is backwards-
compatible with 3.0, we need to continue to support these cases. This
patch does that -- if using RDS 3.0 wire protocol, it will copy the header
from wherever it ended up into the header buffer.Signed-off-by: Andy Grover
Signed-off-by: David S. Miller -
RDS on IB uses privdata to do protocol version negotiation. Apparently
the IB stack will return a larger privdata buffer than the struct we were
expecting. Just to be extra-sure, this patch adds some checks in this area.Signed-off-by: Andy Grover
Signed-off-by: David S. Miller -
This will be default cause IB connections to failover faster,
but allow a longer retry count to be used if desired.Signed-off-by: Andy Grover
Signed-off-by: David S. Miller
24 Jun, 2009
1 commit
-
There are a few places where ___cacheline_aligned* is used with
DEFINE_PER_CPU(). Use DEFINE_PER_CPU_SHARED_ALIGNED() instead.DEFINE_PER_CPU_SHARED_ALIGNED() applies alignment only on SMPs. While
all other converted places used _in_smp variant or only get compiled
for SMP, net/rds used unconditional ____cacheline_aligned. I don't
see any reason these data structures should be aligned on UP and thus
converted together.Signed-off-by: Tejun Heo
Cc: Mike Frysinger
Cc: Tony Luck
Cc: Andy Grover
19 May, 2009
1 commit
-
Conflicts:
drivers/scsi/fcoe/fcoe.c
22 Apr, 2009
1 commit
-
In non-SMP mode, the variable section attribute specified by DECLARE_PER_CPU()
does not agree with that specified by DEFINE_PER_CPU(). This means that
architectures that have a small data section references relative to a base
register may throw up linkage errors due to too great a displacement between
where the base register points and the per-CPU variable.On FRV, the .h declaration says that the variable is in the .sdata section, but
the .c definition says it's actually in the .data section. The linker throws
up the following errors:kernel/built-in.o: In function `release_task':
kernel/exit.c:78: relocation truncated to fit: R_FRV_GPREL12 against symbol `per_cpu__process_counts' defined in .data section in kernel/built-in.o
kernel/exit.c:78: relocation truncated to fit: R_FRV_GPREL12 against symbol `per_cpu__process_counts' defined in .data section in kernel/built-in.oTo fix this, DECLARE_PER_CPU() should simply apply the same section attribute
as does DEFINE_PER_CPU(). However, this is made slightly more complex by
virtue of the fact that there are several variants on DEFINE, so these need to
be matched by variants on DECLARE.Signed-off-by: David Howells
Signed-off-by: Linus Torvalds
10 Apr, 2009
11 commits
-
rdma_create_id() doesn't return NULL, only ERR_PTR().
Found by smatch (http://repo.or.cz/w/smatch.git). Compile tested.
regards,
dan carpenterSigned-off-by: Dan Carpenter
Signed-off-by: Andy Grover
Signed-off-by: David S. Miller -
rdma_create_id() returns ERR_PTR() not null.
Found by smatch (http://repo.or.cz/w/smatch.git). Compile tested.
regards,
dan carpenterSigned-off-by: Dan Carpenter
Signed-off-by: Andy Grover
Signed-off-by: David S. Miller -
Use kmem_cache_zalloc instead of kmem_cache_alloc/memset.
Signed-off-by: Wei Yongjun
Signed-off-by: Andy Grover
Signed-off-by: David S. Miller -
Remove unused #include in net/rds/af_rds.c.
Signed-off-by: Huang Weiyi
Signed-off-by: Andy Grover
Signed-off-by: David S. Miller -
Use the new function that is simpler and faster.
Signed-off-by: Andy Grover
Signed-off-by: David S. Miller -
The first message to a remote node should prompt a new connection.
Even an RDMA op via CMSG. Therefore move CMSG parsing to after
connection establishment.Signed-off-by: Andy Grover
Signed-off-by: David S. Miller -
Putting the constant first is a supposed "best practice" that actually makes
the code harder to read.Thanks to Roland Dreier for finding a bug in this "simple, obviously correct"
patch.Signed-off-by: Andy Grover
Signed-off-by: David S. Miller -
Fix hack that restricts the credit advertisement to 127.
Signed-off-by: Steve Wise
Signed-off-by: Andy Grover
Signed-off-by: David S. Miller -
The RDS_LL_SEND_FULL bit should be set when we stop transmitted due to
flow control. Otherwise the send worker will keep trying as opposed to
sleeping until we unthrottle. Saves CPU.Signed-off-by: Steve Wise
Signed-off-by: Andy Grover
Signed-off-by: David S. Miller -
Had some lingering instances of _iw_ variable names from when
the listen code was centralized into rdma_transport.cSigned-off-by: Andy Grover
Signed-off-by: David S. Miller -
Currently the recv ring low water mark is 1/4 the depth. Performance
measurements show that this limits iWARP throughput by flow controlling
the rds-stress senders. Setting it to 1/2 seems to max the T3
performance. I tried even higher levels but that didn't help and it
started to increase the rds thread cpu utilization.Signed-off-by: Steve Wise
Signed-off-by: Andy Grover
Signed-off-by: David S. Miller
02 Apr, 2009
1 commit
-
We have a 64bit value that needs to be set atomically.
This is easy and quick on all 64bit archs, and can also be done
on x86/32 with set_64bit() (uses cmpxchg8b). However other
32b archs don't have this.I actually changed this to the current state in preparation for
mainline because the old way (using a spinlock on 32b) resulted in
unsightly #ifdefs in the code. But obviously, being correct takes
precedence.Signed-off-by: Andy Grover
Signed-off-by: David S. Miller