All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alan Cox <alan@lxorguk.ukuu.org.uk>
To: Mark Mason <mason@postdiluvian.org>
Cc: linux-ide@vger.kernel.org, jgarzik@pobox.com
Subject: Re: libata/sata_sil24 cache alignment problem?
Date: Thu, 14 Feb 2008 00:21:35 +0000	[thread overview]
Message-ID: <20080214002135.065dd322@core> (raw)
In-Reply-To: <20080213212549.GA14732@postdiluvian.org>

> I hadn't considered that approach due to the way the ata_port is allocated:
> 
> > libata-core.c:
> >         host = scsi_host_alloc(ent->sht, sizeof(struct ata_port));
> > 
> > hosts.c:
> > struct Scsi_Host *scsi_host_alloc(struct scsi_host_template *sht, int privsize)
> > {
> >         shost = kzalloc(sizeof(struct Scsi_Host) + privsize, gfp_mask);
> > }
> 
> The ata_port allocation is tacked onto the end of the Scsi_Host
> allocation, so the start of ata_port will only be cache aligned if the
> end of the Scsi_Host struct is, although that would be easy enough to
> fix since it's currently aligned to an unsigned long boundary.

You are right.

> I like that approach better, since it's clearer what the intent is,
> and it's easier.  Is there any other way that the ata_port struct
> might be used that would invalidate this?  

I can't think of one. The object lifetime is right - the ata_port is
created before the port buffer is used and destroyed after it is finished
(obviously or embedding it in the struct wouldn't work either)

Alan

  reply	other threads:[~2008-02-14  0:29 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-12 18:02 libata/sata_sil24 cache alignment problem? Mark Mason
2008-02-12 22:12 ` Alan Cox
2008-02-12 23:36   ` James Bottomley
2008-02-13  2:13     ` Alan Cox
2008-02-13  2:32       ` James Bottomley
2008-02-13 18:47   ` Mark Mason
2008-02-13 20:21     ` Alan Cox
2008-02-13 21:25       ` Mark Mason
2008-02-14  0:21         ` Alan Cox [this message]
2008-02-14  3:05           ` Tejun Heo
2008-02-14  9:44             ` [PATCH] libata: align ap->sector_buf to cacheline Tejun Heo
2008-02-14  9:48             ` [PATCH] scsi: align shost->hostdata " Tejun Heo
2008-02-14 15:05               ` James Bottomley
2008-02-14 22:49                 ` Tejun Heo
2008-02-15 18:57                   ` James Bottomley
2008-02-21  2:32                     ` Tejun Heo
2008-02-13 18:51   ` libata/sata_sil24 cache alignment problem? Mark Mason
2008-02-12 23:25 ` Thomas Evans

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=20080214002135.065dd322@core \
    --to=alan@lxorguk.ukuu.org.uk \
    --cc=jgarzik@pobox.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=mason@postdiluvian.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.