kernel-ark/drivers/scsi
Denis V. Lunev cd40b7d398 [NET]: make netlink user -> kernel interface synchronious
This patch make processing netlink user -> kernel messages synchronious.
This change was inspired by the talk with Alexey Kuznetsov about current
netlink messages processing. He says that he was badly wrong when introduced 
asynchronious user -> kernel communication.

The call netlink_unicast is the only path to send message to the kernel
netlink socket. But, unfortunately, it is also used to send data to the
user.

Before this change the user message has been attached to the socket queue
and sk->sk_data_ready was called. The process has been blocked until all
pending messages were processed. The bad thing is that this processing
may occur in the arbitrary process context.

This patch changes nlk->data_ready callback to get 1 skb and force packet
processing right in the netlink_unicast.

Kernel -> user path in netlink_unicast remains untouched.

EINTR processing for in netlink_run_queue was changed. It forces rtnl_lock
drop, but the process remains in the cycle until the message will be fully
processed. So, there is no need to use this kludges now.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Acked-by: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
Signed-off-by: David S. Miller <davem@davemloft.net>
2007-10-10 21:15:29 -07:00
..
aacraid [SCSI] aacraid: prevent panic on adapter resource failure 2007-08-04 09:46:43 -05:00
aic7xxx [SCSI] aic7xxx: cap maxsync according to correct card limits 2007-07-31 10:44:26 -05:00
aic7xxx_old
aic94xx aic94xx: fix DMA data direction for SMP requests 2007-10-02 13:16:10 -04:00
arcmsr Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2007-07-15 16:51:54 -07:00
arm Remove the arm26 port 2007-07-31 15:39:39 -07:00
dpt
ibmvscsi [SCSI] ibmvscsi: use shost_priv 2007-07-31 10:34:34 -05:00
libsas [SCSI] libsas: fix build dependencies on libata 2007-07-31 10:40:48 -05:00
lpfc [SCSI] lpfc : scsi command accessor fix for 8.2.2 2007-08-03 11:30:09 -05:00
megaraid some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
pcmcia Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2007-07-22 11:36:49 -07:00
qla2xxx [SCSI] qla2xxx: Update version number to 8.02.00-k3. 2007-08-15 13:03:57 -05:00
qla4xxx mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
sym53c8xx_2 [SCSI] sym53c8xx: don't claim cpqarray device 2007-07-24 18:38:46 -04:00
.gitignore
3w-9xxx.c Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2007-07-22 11:36:49 -07:00
3w-9xxx.h [SCSI] 3w-9xxx: add support for 9690SA 2007-07-21 08:57:40 -05:00
3w-xxxx.c
3w-xxxx.h
53c700_d.h_shipped
53c700.c [SCSI] 53c700: Remove printk, which triggers because of low scsi clock on SNI RMs 2007-07-14 19:12:43 -05:00
53c700.h
53c700.scr
a100u2w.c
a100u2w.h
a2091.c
a2091.h
a3000.c
a3000.h
a4000t.c [SCSI] a4000t, zorro7xx, mvme16x, bvme6000,sim710: xxx_device_remove seems buggy 2007-07-18 11:17:57 -05:00
advansys.c [SCSI] advansys: lindent and other large, uninteresting changes 2007-07-27 11:41:40 -04:00
aha152x.c [SCSI] aha152x: use data accessors and !use_sg cleanup 2007-08-04 09:14:49 -05:00
aha152x.h [SCSI] aha152x: fix debug mode symbol conflict 2007-08-04 09:11:06 -05:00
aha1542.c
aha1542.h
aha1740.c
aha1740.h
aic7xxx_old.c [SCSI] aic7xxx_old: remove redundant GFP_ATOMIC from kmalloc 2007-07-15 09:34:45 -05:00
atari_dma_emul.c
atari_NCR5380.c
atari_scsi.c
atari_scsi.h
atp870u.c
atp870u.h
blz1230.c
blz2060.c
BusLogic.c
BusLogic.h
bvme6000_scsi.c [SCSI] a4000t, zorro7xx, mvme16x, bvme6000,sim710: xxx_device_remove seems buggy 2007-07-18 11:17:57 -05:00
ch.c
constants.c
cyberstorm.c
cyberstormII.c
dc395x.c [SCSI] dc395x: convert to use the data buffer accessors 2007-07-15 10:04:49 -05:00
dc395x.h
dec_esp.c
dmx3191d.c
dpt_i2o.c [SCSI] dpt_i2o: convert to SCSI hotplug model 2007-07-31 10:49:58 -05:00
dpti.h [SCSI] dpt_i2o: convert to SCSI hotplug model 2007-07-31 10:49:58 -05:00
dtc.c
dtc.h
eata_generic.h
eata_pio.c
eata_pio.h
eata.c
esp_scsi.c [SCSI] esp: fix instance numbering. 2007-09-25 20:55:02 -05:00
esp_scsi.h [SCSI] ESP: Revert ESP_BUS_TIMEOUT back down to 250 2007-07-31 10:51:25 -05:00
fastlane.c
fcal.c
fcal.h
fd_mcs.c
fdomain.c
fdomain.h
FlashPoint.c
g_NCR5380_mmio.c
g_NCR5380.c
g_NCR5380.h
gdth_ioctl.h
gdth_kcompat.h
gdth_proc.c
gdth_proc.h
gdth.c [SCSI] gdth: remove redundant PCI stuff 2007-07-31 10:36:30 -05:00
gdth.h [SCSI] gdth: remove redundant PCI stuff 2007-07-31 10:36:30 -05:00
gvp11.c
gvp11.h
hosts.c [SCSI] initialize shost_data to zero 2007-08-01 08:51:32 -05:00
hptiop.c
hptiop.h
ibmmca.c
ide-scsi.c drivers/scsi/ide-scsi.c: kmalloc + memset conversion to kzalloc 2007-08-01 23:46:45 +02:00
imm.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
imm.h
in2000.c
in2000.h
initio.c
initio.h
ipr.c Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2007-07-15 16:51:54 -07:00
ipr.h
ips.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
ips.h
iscsi_tcp.c [SCSI] iscsi_tcp: Turn off bounce buffers 2007-07-27 09:12:54 -04:00
iscsi_tcp.h
jazz_esp.c
Kconfig Introduce CONFIG_CHECK_SIGNATURE 2007-08-22 19:52:45 -07:00
lasi700.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
libiscsi.c [SCSI] libiscsi: sync up iscsi and scsi eh's access to the connection 2007-08-15 13:09:21 -05:00
libsrp.c
mac53c94.c
mac53c94.h
mac_esp.c
mac_scsi.c
mac_scsi.h
Makefile ps3: BD/DVD/CD-ROM Storage Driver 2007-07-21 17:49:16 -07:00
mca_53c9x.c
megaraid.c [SCSI] megaraid_old: fix READ_CAPACITY 2007-10-04 12:08:49 -04:00
megaraid.h
mesh.c
mesh.h
mvme16x_scsi.c [SCSI] a4000t, zorro7xx, mvme16x, bvme6000,sim710: xxx_device_remove seems buggy 2007-07-18 11:17:57 -05:00
mvme147.c
mvme147.h
ncr53c8xx.c [SCSI] ncr53c8xx: convert to use the data buffer accessors 2007-07-15 10:03:03 -05:00
ncr53c8xx.h
NCR53c406a.c
NCR53C9x.c m68k: missing exports 2007-07-20 08:24:49 -07:00
NCR53C9x.h
NCR5380.c Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2007-07-15 16:51:54 -07:00
NCR5380.h
NCR_D700.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
NCR_D700.h
NCR_Q720.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
NCR_Q720.h
nsp32_debug.c
nsp32_io.h
nsp32.c Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2007-07-15 16:51:54 -07:00
nsp32.h
oktagon_esp.c
oktagon_io.S
osst_detect.h
osst_options.h
osst.c
osst.h
pas16.c
pas16.h
pluto.c
pluto.h
ppa.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
ppa.h
ps3rom.c ps3: BD/DVD/CD-ROM Storage Driver 2007-07-21 17:49:16 -07:00
psi240i.c
psi240i.h
psi_chip.h
ql1040_fw.h
ql1280_fw.h
ql12160_fw.h
qla1280.c
qla1280.h
qlogicfas408.c
qlogicfas408.h
qlogicfas.c
qlogicpti_asm.c
qlogicpti.c [SCSI] qlogicpti: Some cosmetic changes 2007-08-02 09:02:42 -05:00
qlogicpti.h
raid_class.c
script_asm.pl
scsi_debug.c [SCSI] Make scsi_host_template::proc_name const char * instead of char *. 2007-07-19 12:06:26 -05:00
scsi_debug.h
scsi_devinfo.c [SCSI] add easyRAID to the no report luns blacklist 2007-07-28 10:00:28 -04:00
scsi_error.c Freezer: make kernel threads nonfreezable by default 2007-07-17 10:23:02 -07:00
scsi_ioctl.c
scsi_lib_dma.c [SCSI] don't build scsi_dma_{map,unmap} for !HAS_DMA 2007-07-14 19:28:10 -05:00
scsi_lib.c [SCSI] sd: disentangle barriers in SCSI 2007-08-04 08:37:04 -05:00
scsi_logging.h
scsi_module.c
scsi_netlink.c [NET]: make netlink user -> kernel interface synchronious 2007-10-10 21:15:29 -07:00
scsi_priv.h
scsi_proc.c
scsi_sas_internal.h
scsi_scan.c Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2007-07-15 16:51:54 -07:00
scsi_sysctl.c [SCSI] small cleanups 2007-07-18 11:16:32 -05:00
scsi_sysfs.c [SCSI] bsg: make class backlinks 2007-07-21 08:58:23 -05:00
scsi_tgt_if.c
scsi_tgt_lib.c mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
scsi_tgt_priv.h
scsi_transport_api.h
scsi_transport_fc.c [SCSI] small cleanups 2007-07-18 11:16:32 -05:00
scsi_transport_iscsi.c [NET]: make netlink user -> kernel interface synchronious 2007-10-10 21:15:29 -07:00
scsi_transport_sas.c [SCSI] bsg: make class backlinks 2007-07-21 08:58:23 -05:00
scsi_transport_spi.c [SCSI] scsi_transport_spi: fix domain validation failure from incorrect width setting 2007-09-22 08:52:12 -05:00
scsi_typedefs.h
scsi_wait_scan.c
scsi.c mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
scsi.h
scsicam.c
sd.c [SCSI] sd: disentangle barriers in SCSI 2007-08-04 08:37:04 -05:00
seagate.c [SCSI] seagate: make seagate_st0x_detect() static 2007-07-18 11:16:46 -05:00
sg.c
sgiwd93.c
sim710.c Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2007-07-22 11:36:49 -07:00
sni_53c710.c [SCSI] sni_53c710: Cleanup 2007-07-14 19:12:15 -05:00
sr_ioctl.c
sr_vendor.c
sr.c [BLOCK] Get rid of request_queue_t typedef 2007-07-24 09:28:11 +02:00
sr.h
st_options.h
st.c [SCSI] st: Use mutex instead of semaphore 2007-07-31 10:44:01 -05:00
st.h [SCSI] st: Use mutex instead of semaphore 2007-07-31 10:44:01 -05:00
stex.c [SCSI] stex: use resid for xfer len information 2007-07-14 18:59:10 -05:00
sun3_NCR5380.c
sun3_scsi_vme.c
sun3_scsi.c
sun3_scsi.h
sun3x_esp.c
sun_esp.c
sym53c416.c
sym53c416.h
t128.c
t128.h
tmscsim.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
tmscsim.h [SCSI] tmscsim: Further clean-up of the driver 2007-07-14 18:56:33 -05:00
u14-34f.c
ultrastor.c
ultrastor.h
wd33c93.c [SCSI] wd33c93: cleanups 2007-07-18 11:16:38 -05:00
wd33c93.h
wd7000.c
zalon.c
zorro7xx.c [SCSI] a4000t, zorro7xx, mvme16x, bvme6000,sim710: xxx_device_remove seems buggy 2007-07-18 11:17:57 -05:00