From: Albert Lee <albertcc@tw.ibm.com>
To: jgarzik@pobox.com
Cc: Tejun Heo <htejun@gmail.com>,
alan@lxorguk.ukuu.org.uk, axboe@suse.de, forrest.zhao@intel.com,
efalk@google.com, linux-ide@vger.kernel.org
Subject: Re: [PATCH 10/22] libata: use preallocated buffers
Date: Wed, 17 May 2006 13:34:35 +0800 [thread overview]
Message-ID: <446AB5EB.5050603@tw.ibm.com> (raw)
In-Reply-To: <11473487902895-git-send-email-htejun@gmail.com>
Tejun Heo wrote:
> It's not a very good idea to allocate memory during EH. Use
> statically allocated buffer for dev->id[] and add 512byte buffer
> ap->sector_buf. This buffer is owned by EH (or probing) and to be
> used as temporary buffer for various purposes (IDENTIFY, NCQ log page
> 10h, PM GSCR block).
>
> Signed-off-by: Tejun Heo <htejun@gmail.com>
>
> <snip>
> diff --git a/include/linux/libata.h b/include/linux/libata.h
> index 9c2d4bb..a117ca2 100644
> --- a/include/linux/libata.h
> +++ b/include/linux/libata.h
> @@ -360,7 +360,7 @@ struct ata_device {
> unsigned long flags; /* ATA_DFLAG_xxx */
> unsigned int class; /* ATA_DEV_xxx */
> unsigned int devno; /* 0 or 1 */
> - u16 *id; /* IDENTIFY xxx DEVICE data */
> + u16 id[ATA_ID_WORDS]; /* IDENTIFY xxx DEVICE data */
> u8 pio_mode;
> u8 dma_mode;
> u8 xfer_mode;
> @@ -425,6 +425,8 @@ struct ata_port {
> struct list_head eh_done_q;
>
> void *private_data;
> +
> + u8 sector_buf[ATA_SECT_SIZE]; /* owned by EH */
> };
>
> struct ata_port_operations {
Reorder ata_host_set->private_data and ata_port->private_data.
Signed-off-by: Albert Lee <albertcc@tw.ibm.com>
---
Just a minor fix.
Maybe we can make the ->private_data the last one for easier allocation.
--- upstream/include/linux/libata.h 2006-05-16 11:08:54.000000000 +0800
+++ upstream1/include/linux/libata.h 2006-05-17 13:25:24.000000000 +0800
@@ -330,12 +330,12 @@ struct ata_host_set {
unsigned long irq;
void __iomem *mmio_base;
unsigned int n_ports;
- void *private_data;
const struct ata_port_operations *ops;
unsigned long flags;
int simplex_claimed; /* Keep seperate in case we
ever need to do this locked */
struct ata_port * ports[0];
+ void *private_data;
};
struct ata_queued_cmd {
@@ -492,9 +492,8 @@ struct ata_port {
u32 msg_enable;
struct list_head eh_done_q;
- void *private_data;
-
u8 sector_buf[ATA_SECT_SIZE]; /* owned by EH */
+ void *private_data;
};
struct ata_port_operations {
next prev parent reply other threads:[~2006-05-17 5:34 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-11 11:59 [PATCHSET 01/11] prep for new EH Tejun Heo
2006-05-11 11:59 ` [PATCH 04/22] ahci: hardreset classification fix Tejun Heo
2006-05-11 11:59 ` [PATCH 02/22] SCSI: implement host_eh_scheduled hack for libata Tejun Heo
2006-05-13 21:34 ` Jeff Garzik
2006-05-11 11:59 ` [PATCH 05/22] libata: unexport ata_scsi_error() Tejun Heo
2006-05-11 11:59 ` [PATCH 06/22] libata: kill duplicate prototypes Tejun Heo
2006-05-11 11:59 ` [PATCH 07/22] libata: fix ->phy_reset class code handling in ata_bus_probe() Tejun Heo
2006-05-11 11:59 ` [PATCH 09/22] libata: hold host_set lock while finishing internal qc Tejun Heo
2006-05-11 11:59 ` [PATCH 01/22] SCSI: Introduce scsi_req_abort_cmd (REPOST) Tejun Heo
2006-05-13 21:21 ` Jeff Garzik
2006-05-14 2:00 ` Luben Tuikov
2006-05-14 2:01 ` Luben Tuikov
2006-05-14 2:04 ` Jeff Garzik
2006-05-14 2:08 ` Luben Tuikov
2006-05-14 2:12 ` Jeff Garzik
2006-05-11 11:59 ` [PATCH 03/22] libata: silly fix in ata_scsi_start_stop_xlat() Tejun Heo
2006-05-11 11:59 ` [PATCH 08/22] libata: clear ap->active_tag atomically w.r.t. command completion Tejun Heo
2006-05-11 11:59 ` [PATCH 10/22] libata: use preallocated buffers Tejun Heo
2006-05-17 5:34 ` Albert Lee [this message]
2006-05-17 12:47 ` Jeff Garzik
2006-05-18 2:52 ` Albert Lee
2006-05-11 11:59 ` [PATCH 17/22] libata: use new SCR and on/offline functions Tejun Heo
2006-05-11 11:59 ` [PATCH 14/22] sata_sil24: update TF image only when necessary Tejun Heo
2006-05-13 21:42 ` Jeff Garzik
2006-05-11 11:59 ` [PATCH 16/22] libata: implement new SCR handling and port on/offline functions Tejun Heo
2006-05-13 21:43 ` Jeff Garzik
2006-05-13 23:18 ` Tejun Heo
2006-05-14 1:10 ` Jeff Garzik
2006-05-14 1:29 ` Tejun Heo
2006-05-14 1:35 ` Jeff Garzik
2006-05-11 11:59 ` [PATCH 21/22] libata: implement ATA printk helpers Tejun Heo
2006-05-14 2:00 ` Jeff Garzik
2006-05-16 10:23 ` Albert Lee
2006-05-16 10:29 ` Tejun Heo
2006-05-11 11:59 ` [PATCH 11/22] libata: move ->set_mode() handling into ata_set_mode() Tejun Heo
2006-05-11 11:59 ` [PATCH 20/22] libata: use dev->ap Tejun Heo
2006-05-11 11:59 ` [PATCH 19/22] libata: add dev->ap Tejun Heo
2006-05-13 21:47 ` Jeff Garzik
2006-05-11 11:59 ` [PATCH 12/22] libata: remove postreset handling from ata_do_reset() Tejun Heo
2006-05-11 11:59 ` [PATCH 18/22] libata: kill old SCR functions and sata_dev_present() Tejun Heo
2006-05-11 11:59 ` [PATCH 13/22] libata: implement qc->result_tf Tejun Heo
2006-05-18 7:10 ` Albert Lee
2006-05-18 7:22 ` Tejun Heo
2006-05-18 7:22 ` Albert Lee
2006-05-18 7:27 ` Tejun Heo
2006-05-18 7:53 ` Albert Lee
2006-05-18 8:10 ` Tejun Heo
2006-05-18 9:51 ` [PATCH 1/1] libata: use qc->result_tf for temp taskfile storage Albert Lee
2006-05-11 11:59 ` [PATCH 15/22] libata: init ap->cbl to ATA_CBL_SATA early Tejun Heo
2006-05-13 21:42 ` Jeff Garzik
2006-05-11 11:59 ` [PATCH 22/22] libata: use ATA printk helpers Tejun Heo
2006-05-13 21:49 ` Jeff Garzik
2006-05-13 21:52 ` [PATCHSET 01/11] prep for new EH Jeff Garzik
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=446AB5EB.5050603@tw.ibm.com \
--to=albertcc@tw.ibm.com \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=albertl@mail.com \
--cc=axboe@suse.de \
--cc=efalk@google.com \
--cc=forrest.zhao@intel.com \
--cc=htejun@gmail.com \
--cc=jgarzik@pobox.com \
--cc=linux-ide@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.