Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
5ac16be8
Commit
5ac16be8
authored
Apr 25, 2004
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
bk://kernel.bkbits.net/davem/net-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux
parents
2ce6c0f5
c2d26a96
Changes
7
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
719 additions
and
442 deletions
+719
-442
crypto/crypto_null.c
crypto/crypto_null.c
+4
-0
drivers/atm/Kconfig
drivers/atm/Kconfig
+9
-0
drivers/atm/fore200e.c
drivers/atm/fore200e.c
+630
-419
drivers/atm/fore200e.h
drivers/atm/fore200e.h
+52
-22
include/linux/if.h
include/linux/if.h
+1
-0
include/linux/tcp_diag.h
include/linux/tcp_diag.h
+12
-1
net/ipv4/tcp_diag.c
net/ipv4/tcp_diag.c
+11
-0
No files found.
crypto/crypto_null.c
View file @
5ac16be8
...
@@ -94,6 +94,10 @@ static struct crypto_alg cipher_null = {
...
@@ -94,6 +94,10 @@ static struct crypto_alg cipher_null = {
.
cia_decrypt
=
null_decrypt
}
}
.
cia_decrypt
=
null_decrypt
}
}
};
};
MODULE_ALIAS
(
"compress_null"
);
MODULE_ALIAS
(
"digest_null"
);
MODULE_ALIAS
(
"cipher_null"
);
static
int
__init
init
(
void
)
static
int
__init
init
(
void
)
{
{
int
ret
=
0
;
int
ret
=
0
;
...
...
drivers/atm/Kconfig
View file @
5ac16be8
...
@@ -385,6 +385,15 @@ config ATM_FORE200E_SBA_FW
...
@@ -385,6 +385,15 @@ config ATM_FORE200E_SBA_FW
not have to supply an alternative one. They just say Y to "Use
not have to supply an alternative one. They just say Y to "Use
default SBA-200E firmware", above.
default SBA-200E firmware", above.
config ATM_FORE200E_USE_TASKLET
bool "Defer interrupt work to a tasklet"
depends on (PCI || SBUS) && (ATM_FORE200E_PCA || ATM_FORE200E_SBA)
default n
help
This defers work to be done by the interrupt handler to a
tasklet instead of hanlding everything at interrupt time. This
may improve the responsive of the host.
config ATM_FORE200E_TX_RETRY
config ATM_FORE200E_TX_RETRY
int "Maximum number of tx retries"
int "Maximum number of tx retries"
depends on (PCI || SBUS) && (ATM_FORE200E_PCA || ATM_FORE200E_SBA)
depends on (PCI || SBUS) && (ATM_FORE200E_PCA || ATM_FORE200E_SBA)
...
...
drivers/atm/fore200e.c
View file @
5ac16be8
This diff is collapsed.
Click to expand it.
drivers/atm/fore200e.h
View file @
5ac16be8
...
@@ -23,19 +23,21 @@
...
@@ -23,19 +23,21 @@
#define BUFFER_S2_SIZE SMALL_BUFFER_SIZE
/* size of small buffers, scheme 2 */
#define BUFFER_S2_SIZE SMALL_BUFFER_SIZE
/* size of small buffers, scheme 2 */
#define BUFFER_L2_SIZE LARGE_BUFFER_SIZE
/* size of large buffers, scheme 2 */
#define BUFFER_L2_SIZE LARGE_BUFFER_SIZE
/* size of large buffers, scheme 2 */
#define BUFFER_S1_NBR (RBD_BLK_SIZE *
2
)
#define BUFFER_S1_NBR (RBD_BLK_SIZE *
6
)
#define BUFFER_L1_NBR (RBD_BLK_SIZE *
2
)
#define BUFFER_L1_NBR (RBD_BLK_SIZE *
4
)
#define BUFFER_S2_NBR (RBD_BLK_SIZE *
2
)
#define BUFFER_S2_NBR (RBD_BLK_SIZE *
6
)
#define BUFFER_L2_NBR (RBD_BLK_SIZE *
2
)
#define BUFFER_L2_NBR (RBD_BLK_SIZE *
4
)
#define QUEUE_SIZE_CMD 16
/* command queue capacity */
#define QUEUE_SIZE_CMD 16
/* command queue capacity */
#define QUEUE_SIZE_RX 64
/* receive queue capacity */
#define QUEUE_SIZE_RX 64
/* receive queue capacity */
#define QUEUE_SIZE_TX 256
/* transmit queue capacity */
#define QUEUE_SIZE_TX 256
/* transmit queue capacity */
#define QUEUE_SIZE_BS
16
/* buffer supply queue capacity */
#define QUEUE_SIZE_BS
32
/* buffer supply queue capacity */
#define NBR_CONNECT 1024
/* number of ATM connections */
#define FORE200E_VPI_BITS 0
#define FORE200E_VCI_BITS 10
#define NBR_CONNECT (1 << (FORE200E_VPI_BITS + FORE200E_VCI_BITS))
/* number of connections */
#define TSD_FIXED 2
#define TSD_FIXED 2
...
@@ -207,6 +209,7 @@ typedef struct tpd_haddr {
...
@@ -207,6 +209,7 @@ typedef struct tpd_haddr {
)
)
}
tpd_haddr_t
;
}
tpd_haddr_t
;
#define TPD_HADDR_SHIFT 5
/* addr aligned on 32 byte boundary */
/* cp resident transmit queue entry */
/* cp resident transmit queue entry */
...
@@ -522,8 +525,10 @@ typedef struct host_txq_entry {
...
@@ -522,8 +525,10 @@ typedef struct host_txq_entry {
struct
tpd
*
tpd
;
/* addr of transmit PDU descriptor */
struct
tpd
*
tpd
;
/* addr of transmit PDU descriptor */
u32
tpd_dma
;
/* DMA address of tpd */
u32
tpd_dma
;
/* DMA address of tpd */
struct
sk_buff
*
skb
;
/* related skb */
struct
sk_buff
*
skb
;
/* related skb */
struct
atm_vcc
*
vcc
;
/* related vcc */
void
*
data
;
/* copy of misaligned data */
void
*
data
;
/* copy of misaligned data */
unsigned
long
incarn
;
/* vc_map incarnation when submitted for tx */
struct
fore200e_vc_map
*
vc_map
;
}
host_txq_entry_t
;
}
host_txq_entry_t
;
...
@@ -576,6 +581,10 @@ typedef struct buffer {
...
@@ -576,6 +581,10 @@ typedef struct buffer {
enum
buffer_scheme
scheme
;
/* buffer scheme */
enum
buffer_scheme
scheme
;
/* buffer scheme */
enum
buffer_magn
magn
;
/* buffer magnitude */
enum
buffer_magn
magn
;
/* buffer magnitude */
struct
chunk
data
;
/* data buffer */
struct
chunk
data
;
/* data buffer */
#ifdef FORE200E_BSQ_DEBUG
unsigned
long
index
;
/* buffer # in queue */
int
supplied
;
/* 'buffer supplied' flag */
#endif
}
buffer_t
;
}
buffer_t
;
...
@@ -602,6 +611,7 @@ typedef struct host_cmdq {
...
@@ -602,6 +611,7 @@ typedef struct host_cmdq {
typedef
struct
host_txq
{
typedef
struct
host_txq
{
struct
host_txq_entry
host_entry
[
QUEUE_SIZE_TX
];
/* host resident tx queue entries */
struct
host_txq_entry
host_entry
[
QUEUE_SIZE_TX
];
/* host resident tx queue entries */
int
head
;
/* head of tx queue */
int
head
;
/* head of tx queue */
int
tail
;
/* tail of tx queue */
struct
chunk
tpd
;
/* array of tpds */
struct
chunk
tpd
;
/* array of tpds */
struct
chunk
status
;
/* arry of completion status */
struct
chunk
status
;
/* arry of completion status */
int
txing
;
/* number of pending PDUs in tx queue */
int
txing
;
/* number of pending PDUs in tx queue */
...
@@ -626,8 +636,8 @@ typedef struct host_bsq {
...
@@ -626,8 +636,8 @@ typedef struct host_bsq {
struct
chunk
rbd_block
;
/* array of rbds */
struct
chunk
rbd_block
;
/* array of rbds */
struct
chunk
status
;
/* array of completion status */
struct
chunk
status
;
/* array of completion status */
struct
buffer
*
buffer
;
/* array of rx buffers */
struct
buffer
*
buffer
;
/* array of rx buffers */
int
free
;
/* index of first free rx buffer
*/
struct
buffer
*
freebuf
;
/* list of free rx buffers
*/
volatile
int
count
;
/* count of supplied rx buffers
*/
volatile
int
freebuf_count
;
/* count of free rx buffers
*/
}
host_bsq_t
;
}
host_bsq_t
;
...
@@ -847,6 +857,17 @@ typedef struct fore200e_bus {
...
@@ -847,6 +857,17 @@ typedef struct fore200e_bus {
#endif
#endif
/* vc mapping */
typedef
struct
fore200e_vc_map
{
struct
atm_vcc
*
vcc
;
/* vcc entry */
unsigned
long
incarn
;
/* vcc incarnation number */
}
fore200e_vc_map_t
;
#define FORE200E_VC_MAP(fore200e, vpi, vci) \
(& (fore200e)->vc_map[ ((vpi) << FORE200E_VCI_BITS) | (vci) ])
/* per-device data */
/* per-device data */
typedef
struct
fore200e
{
typedef
struct
fore200e
{
...
@@ -880,8 +901,15 @@ typedef struct fore200e {
...
@@ -880,8 +901,15 @@ typedef struct fore200e {
struct
stats
*
stats
;
/* last snapshot of the stats */
struct
stats
*
stats
;
/* last snapshot of the stats */
struct
semaphore
rate_sf
;
/* protects rate reservation ops */
struct
semaphore
rate_sf
;
/* protects rate reservation ops */
struct
tasklet_struct
tasklet
;
/* performs interrupt work */
spinlock_t
q_lock
;
/* protects queue ops */
#ifdef FORE200E_USE_TASKLET
struct
tasklet_struct
tx_tasklet
;
/* performs tx interrupt work */
struct
tasklet_struct
rx_tasklet
;
/* performs rx interrupt work */
#endif
unsigned
long
tx_sat
;
/* tx queue saturation count */
unsigned
long
incarn_count
;
struct
fore200e_vc_map
vc_map
[
NBR_CONNECT
];
/* vc mapping */
}
fore200e_t
;
}
fore200e_t
;
...
@@ -894,6 +922,8 @@ typedef struct fore200e_vcc {
...
@@ -894,6 +922,8 @@ typedef struct fore200e_vcc {
int
rx_max_pdu
;
/* size of largest PDU received */
int
rx_max_pdu
;
/* size of largest PDU received */
int
tx_min_pdu
;
/* size of smallest PDU transmitted */
int
tx_min_pdu
;
/* size of smallest PDU transmitted */
int
tx_max_pdu
;
/* size of largest PDU transmitted */
int
tx_max_pdu
;
/* size of largest PDU transmitted */
unsigned
long
tx_pdu
;
/* nbr of tx pdus */
unsigned
long
rx_pdu
;
/* nbr of rx pdus */
}
fore200e_vcc_t
;
}
fore200e_vcc_t
;
...
...
include/linux/if.h
View file @
5ac16be8
...
@@ -21,6 +21,7 @@
...
@@ -21,6 +21,7 @@
#include <linux/types.h>
/* for "__kernel_caddr_t" et al */
#include <linux/types.h>
/* for "__kernel_caddr_t" et al */
#include <linux/socket.h>
/* for "struct sockaddr" et al */
#include <linux/socket.h>
/* for "struct sockaddr" et al */
#include <linux/compiler.h>
/* for "__user" et al */
#define IFNAMSIZ 16
#define IFNAMSIZ 16
#include <linux/hdlc/ioctl.h>
#include <linux/hdlc/ioctl.h>
...
...
include/linux/tcp_diag.h
View file @
5ac16be8
...
@@ -98,9 +98,10 @@ enum
...
@@ -98,9 +98,10 @@ enum
TCPDIAG_NONE
,
TCPDIAG_NONE
,
TCPDIAG_MEMINFO
,
TCPDIAG_MEMINFO
,
TCPDIAG_INFO
,
TCPDIAG_INFO
,
TCPDIAG_VEGASINFO
,
};
};
#define TCPDIAG_MAX TCPDIAG_INFO
#define TCPDIAG_MAX TCPDIAG_
VEGAS
INFO
/* TCPDIAG_MEM */
/* TCPDIAG_MEM */
...
@@ -113,4 +114,14 @@ struct tcpdiag_meminfo
...
@@ -113,4 +114,14 @@ struct tcpdiag_meminfo
__u32
tcpdiag_tmem
;
__u32
tcpdiag_tmem
;
};
};
/* TCPDIAG_VEGASINFO */
struct
tcpvegas_info
{
__u32
tcpv_enabled
;
__u32
tcpv_rttcnt
;
__u32
tcpv_rtt
;
__u32
tcpv_minrtt
;
};
#endif
/* _TCP_DIAG_H_ */
#endif
/* _TCP_DIAG_H_ */
net/ipv4/tcp_diag.c
View file @
5ac16be8
...
@@ -50,6 +50,7 @@ static int tcpdiag_fill(struct sk_buff *skb, struct sock *sk,
...
@@ -50,6 +50,7 @@ static int tcpdiag_fill(struct sk_buff *skb, struct sock *sk,
struct
nlmsghdr
*
nlh
;
struct
nlmsghdr
*
nlh
;
struct
tcp_info
*
info
=
NULL
;
struct
tcp_info
*
info
=
NULL
;
struct
tcpdiag_meminfo
*
minfo
=
NULL
;
struct
tcpdiag_meminfo
*
minfo
=
NULL
;
struct
tcpvegas_info
*
vinfo
=
NULL
;
unsigned
char
*
b
=
skb
->
tail
;
unsigned
char
*
b
=
skb
->
tail
;
nlh
=
NLMSG_PUT
(
skb
,
pid
,
seq
,
TCPDIAG_GETSOCK
,
sizeof
(
*
r
));
nlh
=
NLMSG_PUT
(
skb
,
pid
,
seq
,
TCPDIAG_GETSOCK
,
sizeof
(
*
r
));
...
@@ -59,6 +60,9 @@ static int tcpdiag_fill(struct sk_buff *skb, struct sock *sk,
...
@@ -59,6 +60,9 @@ static int tcpdiag_fill(struct sk_buff *skb, struct sock *sk,
minfo
=
TCPDIAG_PUT
(
skb
,
TCPDIAG_MEMINFO
,
sizeof
(
*
minfo
));
minfo
=
TCPDIAG_PUT
(
skb
,
TCPDIAG_MEMINFO
,
sizeof
(
*
minfo
));
if
(
ext
&
(
1
<<
(
TCPDIAG_INFO
-
1
)))
if
(
ext
&
(
1
<<
(
TCPDIAG_INFO
-
1
)))
info
=
TCPDIAG_PUT
(
skb
,
TCPDIAG_INFO
,
sizeof
(
*
info
));
info
=
TCPDIAG_PUT
(
skb
,
TCPDIAG_INFO
,
sizeof
(
*
info
));
if
(
tcp_is_vegas
(
tp
)
&&
(
ext
&
(
1
<<
(
TCPDIAG_VEGASINFO
-
1
))))
vinfo
=
TCPDIAG_PUT
(
skb
,
TCPDIAG_VEGASINFO
,
sizeof
(
*
vinfo
));
}
}
r
->
tcpdiag_family
=
sk
->
sk_family
;
r
->
tcpdiag_family
=
sk
->
sk_family
;
r
->
tcpdiag_state
=
sk
->
sk_state
;
r
->
tcpdiag_state
=
sk
->
sk_state
;
...
@@ -196,6 +200,13 @@ static int tcpdiag_fill(struct sk_buff *skb, struct sock *sk,
...
@@ -196,6 +200,13 @@ static int tcpdiag_fill(struct sk_buff *skb, struct sock *sk,
info
->
tcpi_reordering
=
tp
->
reordering
;
info
->
tcpi_reordering
=
tp
->
reordering
;
}
}
if
(
vinfo
)
{
vinfo
->
tcpv_enabled
=
tp
->
vegas
.
doing_vegas_now
;
vinfo
->
tcpv_rttcnt
=
tp
->
vegas
.
cntRTT
;
vinfo
->
tcpv_rtt
=
tp
->
vegas
.
baseRTT
;
vinfo
->
tcpv_minrtt
=
tp
->
vegas
.
minRTT
;
}
nlh
->
nlmsg_len
=
skb
->
tail
-
b
;
nlh
->
nlmsg_len
=
skb
->
tail
-
b
;
return
skb
->
len
;
return
skb
->
len
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment