* Re: [PATCH 54/62] rds: remove the second argument of k[un]map_atomic()
@ 2011-11-28 15:28 Venkat Venkatsubra
0 siblings, 0 replies; 3+ messages in thread
From: Venkat Venkatsubra @ 2011-11-28 15:28 UTC (permalink / raw)
To: davem; +Cc: netdev, rds-devel, akpm, linux-kernel, amwang
From: Cong Wang <amwang@redhat.com>
Date: Sun, 27 Nov 2011 13:27:34 +0800
> Signed-off-by: Cong Wang <amwang@redhat.com>
Acked-by: David S. Miller <davem@davemloft.net>
Acked-by: Venkat Venkatsubra <venkat.x.venkatsubra@oracle.com>
^ permalink raw reply [flat|nested] 3+ messages in thread* [V2 PATCH 00/62] highmem: remove the second argument of kmap_atomic/kunmap_atomic
@ 2011-11-27 5:26 Cong Wang
2011-11-27 5:27 ` [PATCH 54/62] rds: remove the second argument of k[un]map_atomic() Cong Wang
0 siblings, 1 reply; 3+ messages in thread
From: Cong Wang @ 2011-11-27 5:26 UTC (permalink / raw)
To: linux-kernel; +Cc: akpm, Cong Wang, Peter Zijlstra
V1: https://lkml.org/lkml/2011/1/30/13
V1->V2: Split patches and rebase them to the latest linus tree.
Now the second argument of kmap_atomic()/kunmap_atomic() is totally
unused, this patchset removes it from all callers.
But for backward compatibility, we still keep the deprecated form,
and will warn the users if they still use the deprecated one, like this:
drivers/block/drbd/drbd_bitmap.c: In function ‘bm_page_io_async’:
drivers/block/drbd/drbd_bitmap.c:973:3: warning: ‘kmap_atomic_deprecated’ is deprecated (declared at /home/wangcong/linux-2.6/include/linux/highmem.h:124)
drivers/block/drbd/drbd_bitmap.c:977:3: warning: ‘kunmap_atomic_deprecated’ is deprecated (declared at /home/wangcong/linux-2.6/include/linux/highmem.h:144)
To schedule the final removal of these stuffs, I also write some doc into
feature-removal-schedule.txt, see the last patch in this thread.
Most of this patch is generated by the following commands:
find . -name '*.[c|h]' -exec sed -i -e 's#\bkmap_atomic(\(.*\),.*)#kmap_atomic(\1)#' '{}' \;
find . -name '*.[c|h]' -exec sed -i -e 's#\bkunmap_atomic(\(.*\),.*)#kunmap_atomic(\1)#' '{}' \;
the rest exceptions are fixed by hands.
This patch passes 'make allyesconfig' test on both ppc64 and x86_64.
BTW, all patches can be found on my github:
git@github.com:congwang/linux.git #for-next
and the final removal patches can be found here:
git@github.com:congwang/linux.git #for-3.5
Signed-off-by: Cong Wang <amwang@redhat.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
---
Cong Wang (62):
highmem: mark k[un]map_atomic() with two arguments as deprecated
include/linux/highmem.h: remove the second argument of
k[un]map_atomic()
arm: remove the second argument of k[un]map_atomic()
mips: remove the second argument of k[un]map_atomic()
powerpc: remove the second argument of k[un]map_atomic()
sh: remove the second argument of k[un]map_atomic()
um: remove the second argument of k[un]map_atomic()
x86: remove the second argument of k[un]map_atomic()
crypto: remove the second argument of k[un]map_atomic()
ata: remove the second argument of k[un]map_atomic()
block: remove the second argument of k[un]map_atomic()
crypto: remove the second argument of k[un]map_atomic()
edac: remove the second argument of k[un]map_atomic()
drm: remove the second argument of k[un]map_atomic()
ide: remove the second argument of k[un]map_atomic()
infiniband: remove the second argument of k[un]map_atomic()
md: remove the second argument of k[un]map_atomic()
media: remove the second argument of k[un]map_atomic()
memstick: remove the second argument of k[un]map_atomic()
mmc: remove the second argument of k[un]map_atomic()
net: remove the second argument of k[un]map_atomic()
scsi: remove the second argument of k[un]map_atomic()
hv: remove the second argument of k[un]map_atomic()
pohmelfs: remove the second argument of k[un]map_atomic()
rtl8192u: remove the second argument of k[un]map_atomic()
zram: remove the second argument of k[un]map_atomic()
target: remove the second argument of k[un]map_atomic()
vhost: remove the second argument of k[un]map_atomic()
fs: remove the second argument of k[un]map_atomic()
btrfs: remove the second argument of k[un]map_atomic()
ecryptfs: remove the second argument of k[un]map_atomic()
afs: remove the second argument of k[un]map_atomic()
exofs: remove the second argument of k[un]map_atomic()
ext2: remove the second argument of k[un]map_atomic()
fuse: remove the second argument of k[un]map_atomic()
gfs2: remove the second argument of k[un]map_atomic()
jbd: remove the second argument of k[un]map_atomic()
jbd2: remove the second argument of k[un]map_atomic()
logfs: remove the second argument of k[un]map_atomic()
minix: remove the second argument of k[un]map_atomic()
nfs: remove the second argument of k[un]map_atomic()
nilfs2: remove the second argument of k[un]map_atomic()
ntfs: remove the second argument of k[un]map_atomic()
ocfs2: remove the second argument of k[un]map_atomic()
reiserfs: remove the second argument of k[un]map_atomic()
squashfs: remove the second argument of k[un]map_atomic()
ubifs: remove the second argument of k[un]map_atomic()
udf: remove the second argument of k[un]map_atomic()
kdb: remove the second argument of k[un]map_atomic()
power: remove the second argument of k[un]map_atomic()
lib: remove the second argument of k[un]map_atomic()
mm: remove the second argument of k[un]map_atomic()
net: remove the second argument of k[un]map_atomic()
rds: remove the second argument of k[un]map_atomic()
sunrpc: remove the second argument of k[un]map_atomic()
tomoyo: remove the second argument of k[un]map_atomic()
md: remove the second argument of k[un]map_atomic()
gma500: remove the second argument of k[un]map_atomic()
zcache: remove the second argument of k[un]map_atomic()
drbd: remove the second argument of k[un]map_atomic()
highmem: kill all __kmap_atomic()
feature-removal-schedule.txt: add the deprecated form of
kmap_atomic()
Documentation/feature-removal-schedule.txt | 8 ++
arch/arm/mm/copypage-fa.c | 12 ++--
arch/arm/mm/copypage-feroceon.c | 12 ++--
arch/arm/mm/copypage-v3.c | 12 ++--
arch/arm/mm/copypage-v4mc.c | 8 +-
arch/arm/mm/copypage-v4wb.c | 12 ++--
arch/arm/mm/copypage-v4wt.c | 12 ++--
arch/arm/mm/copypage-v6.c | 12 ++--
arch/arm/mm/copypage-xsc3.c | 12 ++--
arch/arm/mm/copypage-xscale.c | 8 +-
arch/arm/mm/highmem.c | 4 +-
arch/frv/include/asm/highmem.h | 2 +-
arch/frv/mm/highmem.c | 4 +-
arch/mips/include/asm/highmem.h | 2 +-
arch/mips/mm/c-r4k.c | 4 +-
arch/mips/mm/highmem.c | 4 +-
arch/mips/mm/init.c | 8 +-
arch/mn10300/include/asm/highmem.h | 2 +-
arch/parisc/include/asm/cacheflush.h | 2 +-
arch/powerpc/include/asm/highmem.h | 2 +-
arch/powerpc/kvm/book3s_pr.c | 4 +-
arch/powerpc/mm/dma-noncoherent.c | 5 +-
arch/powerpc/mm/hugetlbpage.c | 4 +-
arch/powerpc/mm/mem.c | 4 +-
arch/sh/mm/cache-sh4.c | 4 +-
arch/sh/mm/cache.c | 12 ++--
arch/sparc/include/asm/highmem.h | 2 +-
arch/sparc/mm/highmem.c | 4 +-
arch/tile/include/asm/highmem.h | 2 +-
arch/tile/mm/highmem.c | 4 +-
arch/um/kernel/skas/uaccess.c | 4 +-
arch/x86/crypto/aesni-intel_glue.c | 24 +++---
arch/x86/include/asm/highmem.h | 2 +-
arch/x86/kernel/crash_dump_32.c | 6 +-
arch/x86/kvm/lapic.c | 8 +-
arch/x86/kvm/paging_tmpl.h | 4 +-
arch/x86/kvm/x86.c | 8 +-
arch/x86/lib/usercopy_32.c | 4 +-
arch/x86/mm/highmem_32.c | 4 +-
crypto/ahash.c | 4 +-
crypto/async_tx/async_memcpy.c | 8 +-
crypto/blkcipher.c | 8 +-
crypto/ccm.c | 4 +-
crypto/scatterwalk.c | 8 +-
crypto/shash.c | 8 +-
drivers/ata/libata-sff.c | 8 +-
drivers/block/brd.c | 20 +++---
drivers/block/drbd/drbd_bitmap.c | 50 ++++++------
drivers/block/drbd/drbd_nl.c | 4 +-
drivers/block/loop.c | 16 ++--
drivers/block/pktcdvd.c | 8 +-
drivers/crypto/hifn_795x.c | 10 +-
drivers/edac/edac_mc.c | 4 +-
drivers/gpu/drm/drm_cache.c | 8 +-
drivers/gpu/drm/ttm/ttm_tt.c | 16 ++--
drivers/gpu/drm/vmwgfx/vmwgfx_gmr.c | 6 +-
drivers/ide/ide-taskfile.c | 4 +-
drivers/infiniband/ulp/iser/iser_memory.c | 8 +-
drivers/md/bitmap.c | 42 +++++-----
drivers/md/dm-crypt.c | 8 +-
drivers/media/video/ivtv/ivtv-udma.c | 4 +-
drivers/memstick/host/jmb38x_ms.c | 4 +-
drivers/memstick/host/tifm_ms.c | 4 +-
drivers/mmc/host/at91_mci.c | 8 +-
drivers/mmc/host/msm_sdcc.c | 6 +-
drivers/mmc/host/sdhci.c | 4 +-
drivers/mmc/host/tifm_sd.c | 16 ++--
drivers/mmc/host/tmio_mmc.c | 1 -
drivers/mmc/host/tmio_mmc.h | 4 +-
drivers/net/ethernet/intel/e1000/e1000_main.c | 6 +-
drivers/net/ethernet/intel/e1000e/netdev.c | 10 +--
drivers/net/ethernet/sun/cassini.c | 4 +-
drivers/scsi/arcmsr/arcmsr_hba.c | 8 +-
drivers/scsi/bnx2fc/bnx2fc_fcoe.c | 5 +-
drivers/scsi/cxgbi/libcxgbi.c | 5 +-
drivers/scsi/fcoe/fcoe.c | 4 +-
drivers/scsi/fcoe/fcoe_transport.c | 5 +-
drivers/scsi/gdth.c | 4 +-
drivers/scsi/ips.c | 6 +-
drivers/scsi/isci/request.c | 16 ++--
drivers/scsi/libfc/fc_fcp.c | 8 +-
drivers/scsi/libfc/fc_libfc.c | 8 +-
drivers/scsi/libfc/fc_libfc.h | 2 +-
drivers/scsi/libfc/fc_lport.c | 2 +-
drivers/scsi/libiscsi_tcp.c | 4 +-
drivers/scsi/libsas/sas_host_smp.c | 8 +-
drivers/scsi/megaraid.c | 4 +-
drivers/scsi/mvsas/mv_sas.c | 4 +-
drivers/scsi/scsi_debug.c | 24 +++---
drivers/scsi/scsi_lib.c | 4 +-
drivers/scsi/sd_dif.c | 12 ++--
drivers/staging/gma500/mmu.c | 30 ++++----
drivers/staging/hv/netvsc_drv.c | 5 +-
drivers/staging/hv/rndis_filter.c | 4 +-
drivers/staging/hv/storvsc_drv.c | 31 +++----
drivers/staging/pohmelfs/inode.c | 8 +-
drivers/staging/rtl8192u/ieee80211/cipher.c | 8 +-
drivers/staging/rtl8192u/ieee80211/digest.c | 8 +-
drivers/staging/rtl8192u/ieee80211/internal.h | 17 ----
drivers/staging/rtl8192u/ieee80211/kmap_types.h | 20 -----
drivers/staging/rtl8192u/ieee80211/scatterwalk.c | 19 +---
drivers/staging/zcache/zcache-main.c | 16 ++--
drivers/staging/zram/xvmalloc.c | 39 +++++-----
drivers/staging/zram/zram_drv.c | 44 +++++-----
drivers/target/target_core_transport.c | 4 +-
drivers/target/tcm_fc/tfc_io.c | 10 +--
drivers/vhost/vhost.c | 4 +-
fs/afs/fsclient.c | 8 +-
fs/afs/mntpt.c | 4 +-
fs/aio.c | 30 ++++----
fs/bio-integrity.c | 10 +-
fs/btrfs/compression.c | 12 ++--
fs/btrfs/extent_io.c | 16 ++--
fs/btrfs/file-item.c | 4 +-
fs/btrfs/inode.c | 26 +++---
fs/btrfs/lzo.c | 4 +-
fs/btrfs/scrub.c | 8 +-
fs/btrfs/zlib.c | 4 +-
fs/ecryptfs/mmap.c | 4 +-
fs/ecryptfs/read_write.c | 8 +-
fs/exec.c | 4 +-
fs/exofs/dir.c | 4 +-
fs/ext2/dir.c | 4 +-
fs/fuse/dev.c | 4 +-
fs/fuse/file.c | 4 +-
fs/gfs2/aops.c | 12 ++--
fs/gfs2/lops.c | 8 +-
fs/gfs2/quota.c | 4 +-
fs/jbd/journal.c | 12 ++--
fs/jbd/transaction.c | 4 +-
fs/jbd2/commit.c | 4 +-
fs/jbd2/journal.c | 12 ++--
fs/jbd2/transaction.c | 4 +-
fs/logfs/dir.c | 18 ++--
fs/logfs/readwrite.c | 38 +++++-----
fs/logfs/segment.c | 4 +-
fs/minix/dir.c | 4 +-
fs/namei.c | 4 +-
fs/nfs/dir.c | 8 +-
fs/nfs/nfs4proc.c | 4 +-
fs/nilfs2/cpfile.c | 94 +++++++++++-----------
fs/nilfs2/dat.c | 38 +++++-----
fs/nilfs2/dir.c | 4 +-
fs/nilfs2/ifile.c | 4 +-
fs/nilfs2/mdt.c | 4 +-
fs/nilfs2/page.c | 8 +-
fs/nilfs2/recovery.c | 4 +-
fs/nilfs2/segbuf.c | 4 +-
fs/nilfs2/sufile.c | 68 ++++++++--------
fs/ntfs/aops.c | 20 +++---
fs/ntfs/attrib.c | 20 +++---
fs/ntfs/file.c | 16 ++--
fs/ntfs/super.c | 8 +-
fs/ocfs2/aops.c | 16 ++--
fs/pipe.c | 8 +-
fs/reiserfs/stree.c | 4 +-
fs/reiserfs/tail_conversion.c | 4 +-
fs/splice.c | 7 +-
fs/squashfs/file.c | 8 +-
fs/squashfs/symlink.c | 4 +-
fs/ubifs/file.c | 4 +-
fs/udf/file.c | 4 +-
include/crypto/scatterwalk.h | 28 +------
include/linux/bio.h | 8 +-
include/linux/highmem.h | 77 ++++++++++++-----
kernel/debug/kdb/kdb_support.c | 4 +-
kernel/power/snapshot.c | 28 +++---
lib/scatterlist.c | 4 +-
lib/swiotlb.c | 5 +-
mm/bounce.c | 4 +-
mm/filemap.c | 8 +-
mm/ksm.c | 12 ++--
mm/memory.c | 4 +-
mm/shmem.c | 4 +-
mm/swapfile.c | 30 ++++----
mm/vmalloc.c | 8 +-
net/core/kmap_skb.h | 4 +-
net/rds/ib_recv.c | 7 +-
net/rds/info.c | 6 +-
net/rds/iw_recv.c | 7 +-
net/rds/loop.c | 2 +-
net/rds/rds.h | 2 +-
net/rds/recv.c | 2 +-
net/rds/tcp_recv.c | 11 +--
net/sunrpc/auth_gss/gss_krb5_wrap.c | 4 +-
net/sunrpc/socklib.c | 4 +-
net/sunrpc/xdr.c | 20 +++---
net/sunrpc/xprtrdma/rpc_rdma.c | 8 +-
security/tomoyo/domain.c | 4 +-
189 files changed, 936 insertions(+), 992 deletions(-)
create mode 100644 drivers/net/team/Module.symvers
delete mode 100644 drivers/staging/rtl8192u/ieee80211/kmap_types.h
--
1.7.4.4
^ permalink raw reply [flat|nested] 3+ messages in thread* [PATCH 54/62] rds: remove the second argument of k[un]map_atomic() 2011-11-27 5:26 [V2 PATCH 00/62] highmem: remove the second argument of kmap_atomic/kunmap_atomic Cong Wang @ 2011-11-27 5:27 ` Cong Wang 2011-11-27 6:13 ` David Miller 0 siblings, 1 reply; 3+ messages in thread From: Cong Wang @ 2011-11-27 5:27 UTC (permalink / raw) To: linux-kernel Cc: akpm, Cong Wang, Venkat Venkatsubra, David S. Miller, rds-devel, netdev Signed-off-by: Cong Wang <amwang@redhat.com> --- net/rds/ib_recv.c | 7 +++---- net/rds/info.c | 6 +++--- net/rds/iw_recv.c | 7 +++---- net/rds/loop.c | 2 +- net/rds/rds.h | 2 +- net/rds/recv.c | 2 +- net/rds/tcp_recv.c | 11 ++++------- 7 files changed, 16 insertions(+), 21 deletions(-) diff --git a/net/rds/ib_recv.c b/net/rds/ib_recv.c index e29e0ca..744a00d 100644 --- a/net/rds/ib_recv.c +++ b/net/rds/ib_recv.c @@ -763,7 +763,7 @@ static void rds_ib_cong_recv(struct rds_connection *conn, to_copy = min(RDS_FRAG_SIZE - frag_off, PAGE_SIZE - map_off); BUG_ON(to_copy & 7); /* Must be 64bit aligned. */ - addr = kmap_atomic(sg_page(&frag->f_sg), KM_SOFTIRQ0); + addr = kmap_atomic(sg_page(&frag->f_sg)); src = addr + frag_off; dst = (void *)map->m_page_addrs[map_page] + map_off; @@ -773,7 +773,7 @@ static void rds_ib_cong_recv(struct rds_connection *conn, uncongested |= ~(*src) & *dst; *dst++ = *src++; } - kunmap_atomic(addr, KM_SOFTIRQ0); + kunmap_atomic(addr); copied += to_copy; @@ -919,8 +919,7 @@ static void rds_ib_process_recv(struct rds_connection *conn, rds_ib_cong_recv(conn, ibinc); else { rds_recv_incoming(conn, conn->c_faddr, conn->c_laddr, - &ibinc->ii_inc, GFP_ATOMIC, - KM_SOFTIRQ0); + &ibinc->ii_inc, GFP_ATOMIC); state->ack_next = be64_to_cpu(hdr->h_sequence); state->ack_next_valid = 1; } diff --git a/net/rds/info.c b/net/rds/info.c index f1c016c..9a6b4f6 100644 --- a/net/rds/info.c +++ b/net/rds/info.c @@ -104,7 +104,7 @@ EXPORT_SYMBOL_GPL(rds_info_deregister_func); void rds_info_iter_unmap(struct rds_info_iterator *iter) { if (iter->addr) { - kunmap_atomic(iter->addr, KM_USER0); + kunmap_atomic(iter->addr); iter->addr = NULL; } } @@ -119,7 +119,7 @@ void rds_info_copy(struct rds_info_iterator *iter, void *data, while (bytes) { if (!iter->addr) - iter->addr = kmap_atomic(*iter->pages, KM_USER0); + iter->addr = kmap_atomic(*iter->pages); this = min(bytes, PAGE_SIZE - iter->offset); @@ -134,7 +134,7 @@ void rds_info_copy(struct rds_info_iterator *iter, void *data, iter->offset += this; if (iter->offset == PAGE_SIZE) { - kunmap_atomic(iter->addr, KM_USER0); + kunmap_atomic(iter->addr); iter->addr = NULL; iter->offset = 0; iter->pages++; diff --git a/net/rds/iw_recv.c b/net/rds/iw_recv.c index 5e57347..0bd9b5e 100644 --- a/net/rds/iw_recv.c +++ b/net/rds/iw_recv.c @@ -598,7 +598,7 @@ static void rds_iw_cong_recv(struct rds_connection *conn, to_copy = min(RDS_FRAG_SIZE - frag_off, PAGE_SIZE - map_off); BUG_ON(to_copy & 7); /* Must be 64bit aligned. */ - addr = kmap_atomic(frag->f_page, KM_SOFTIRQ0); + addr = kmap_atomic(frag->f_page); src = addr + frag_off; dst = (void *)map->m_page_addrs[map_page] + map_off; @@ -608,7 +608,7 @@ static void rds_iw_cong_recv(struct rds_connection *conn, uncongested |= ~(*src) & *dst; *dst++ = *src++; } - kunmap_atomic(addr, KM_SOFTIRQ0); + kunmap_atomic(addr); copied += to_copy; @@ -754,8 +754,7 @@ static void rds_iw_process_recv(struct rds_connection *conn, rds_iw_cong_recv(conn, iwinc); else { rds_recv_incoming(conn, conn->c_faddr, conn->c_laddr, - &iwinc->ii_inc, GFP_ATOMIC, - KM_SOFTIRQ0); + &iwinc->ii_inc, GFP_ATOMIC); state->ack_next = be64_to_cpu(hdr->h_sequence); state->ack_next_valid = 1; } diff --git a/net/rds/loop.c b/net/rds/loop.c index bca6761..87ff2a8 100644 --- a/net/rds/loop.c +++ b/net/rds/loop.c @@ -79,7 +79,7 @@ static int rds_loop_xmit(struct rds_connection *conn, struct rds_message *rm, rds_message_addref(rm); rds_recv_incoming(conn, conn->c_laddr, conn->c_faddr, &rm->m_inc, - GFP_KERNEL, KM_USER0); + GFP_KERNEL); rds_send_drop_acked(conn, be64_to_cpu(rm->m_inc.i_hdr.h_sequence), NULL); diff --git a/net/rds/rds.h b/net/rds/rds.h index 7eaba18..ec1d731 100644 --- a/net/rds/rds.h +++ b/net/rds/rds.h @@ -704,7 +704,7 @@ void rds_inc_init(struct rds_incoming *inc, struct rds_connection *conn, __be32 saddr); void rds_inc_put(struct rds_incoming *inc); void rds_recv_incoming(struct rds_connection *conn, __be32 saddr, __be32 daddr, - struct rds_incoming *inc, gfp_t gfp, enum km_type km); + struct rds_incoming *inc, gfp_t gfp); int rds_recvmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg, size_t size, int msg_flags); void rds_clear_recv_queue(struct rds_sock *rs); diff --git a/net/rds/recv.c b/net/rds/recv.c index bc3f8cd..5c6e9f1 100644 --- a/net/rds/recv.c +++ b/net/rds/recv.c @@ -155,7 +155,7 @@ static void rds_recv_incoming_exthdrs(struct rds_incoming *inc, struct rds_sock * tell us which roles the addrs in the conn are playing for this message. */ void rds_recv_incoming(struct rds_connection *conn, __be32 saddr, __be32 daddr, - struct rds_incoming *inc, gfp_t gfp, enum km_type km) + struct rds_incoming *inc, gfp_t gfp) { struct rds_sock *rs = NULL; struct sock *sk; diff --git a/net/rds/tcp_recv.c b/net/rds/tcp_recv.c index 78205e2..6243258 100644 --- a/net/rds/tcp_recv.c +++ b/net/rds/tcp_recv.c @@ -169,7 +169,6 @@ static void rds_tcp_cong_recv(struct rds_connection *conn, struct rds_tcp_desc_arg { struct rds_connection *conn; gfp_t gfp; - enum km_type km; }; static int rds_tcp_data_recv(read_descriptor_t *desc, struct sk_buff *skb, @@ -255,7 +254,7 @@ static int rds_tcp_data_recv(read_descriptor_t *desc, struct sk_buff *skb, else rds_recv_incoming(conn, conn->c_faddr, conn->c_laddr, &tinc->ti_inc, - arg->gfp, arg->km); + arg->gfp); tc->t_tinc_hdr_rem = sizeof(struct rds_header); tc->t_tinc_data_rem = 0; @@ -272,8 +271,7 @@ out: } /* the caller has to hold the sock lock */ -static int rds_tcp_read_sock(struct rds_connection *conn, gfp_t gfp, - enum km_type km) +static int rds_tcp_read_sock(struct rds_connection *conn, gfp_t gfp) { struct rds_tcp_connection *tc = conn->c_transport_data; struct socket *sock = tc->t_sock; @@ -283,7 +281,6 @@ static int rds_tcp_read_sock(struct rds_connection *conn, gfp_t gfp, /* It's like glib in the kernel! */ arg.conn = conn; arg.gfp = gfp; - arg.km = km; desc.arg.data = &arg; desc.error = 0; desc.count = 1; /* give more than one skb per call */ @@ -311,7 +308,7 @@ int rds_tcp_recv(struct rds_connection *conn) rdsdebug("recv worker conn %p tc %p sock %p\n", conn, tc, sock); lock_sock(sock->sk); - ret = rds_tcp_read_sock(conn, GFP_KERNEL, KM_USER0); + ret = rds_tcp_read_sock(conn, GFP_KERNEL); release_sock(sock->sk); return ret; @@ -336,7 +333,7 @@ void rds_tcp_data_ready(struct sock *sk, int bytes) ready = tc->t_orig_data_ready; rds_tcp_stats_inc(s_tcp_data_ready_calls); - if (rds_tcp_read_sock(conn, GFP_ATOMIC, KM_SOFTIRQ0) == -ENOMEM) + if (rds_tcp_read_sock(conn, GFP_ATOMIC) == -ENOMEM) queue_delayed_work(rds_wq, &conn->c_recv_w, 0); out: read_unlock_bh(&sk->sk_callback_lock); -- 1.7.4.4 ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 54/62] rds: remove the second argument of k[un]map_atomic() 2011-11-27 5:27 ` [PATCH 54/62] rds: remove the second argument of k[un]map_atomic() Cong Wang @ 2011-11-27 6:13 ` David Miller 0 siblings, 0 replies; 3+ messages in thread From: David Miller @ 2011-11-27 6:13 UTC (permalink / raw) To: amwang; +Cc: linux-kernel, akpm, venkat.x.venkatsubra, rds-devel, netdev From: Cong Wang <amwang@redhat.com> Date: Sun, 27 Nov 2011 13:27:34 +0800 > Signed-off-by: Cong Wang <amwang@redhat.com> Acked-by: David S. Miller <davem@davemloft.net> ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2011-11-28 15:28 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2011-11-28 15:28 [PATCH 54/62] rds: remove the second argument of k[un]map_atomic() Venkat Venkatsubra -- strict thread matches above, loose matches on Subject: below -- 2011-11-27 5:26 [V2 PATCH 00/62] highmem: remove the second argument of kmap_atomic/kunmap_atomic Cong Wang 2011-11-27 5:27 ` [PATCH 54/62] rds: remove the second argument of k[un]map_atomic() Cong Wang 2011-11-27 6:13 ` David Miller
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®