public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Chris Mason <mason@suse.com>
To: Matthias Andree <ma@dt.e-technik.uni-dortmund.de>
Cc: linux-kernel@vger.kernel.org, axboe@suse.de
Subject: Re: [PATCH] write barriers for 2.4.x
Date: Thu, 14 Feb 2002 12:53:57 -0500	[thread overview]
Message-ID: <3489050000.1013709237@tiny> (raw)
In-Reply-To: <3398950000.1013702503@tiny>
In-Reply-To: <3045480000.1013637574@tiny> <m3vgd1ufbt.fsf@merlin.emma.line.org> <3398950000.1013702503@tiny>



On Thursday, February 14, 2002 11:01:43 AM -0500 Chris Mason <mason@suse.com> wrote:
> 
> [ barrier support for sym53c8xx_2?]
> 
> I can only promise this compiles against 2.4.18-pre9, and looks right
> to me.  l-k and Jens brought into cc in hopes of a little verification.

Whoops, forgot the template change to tell the upper layer the device
supports ordered requests.

Here's a better patch, it includes equally untested BusLogic support
too.

--- barrier.1/drivers/scsi/BusLogic.c Wed, 05 Dec 2001 09:35:31 -0500 root (linux/z/b/7_BusLogic.c 1.2 644)
+++ barrier.1(w)/drivers/scsi/BusLogic.c Thu, 14 Feb 2002 12:38:05 -0500 root (linux/z/b/7_BusLogic.c 1.2 644)
@@ -3464,7 +3464,13 @@
     }
   if (TargetFlags->TaggedQueuingActive)
     {
-      BusLogic_QueueTag_T QueueTag = BusLogic_SimpleQueueTag;
+      BusLogic_QueueTag_T QueueTag;
+
+      if (Command->request.cmd_flags & RQ_WRITE_ORDERED)
+        QueueTag = BusLogic_OrderedQueueTag;
+      else      
+        QueueTag = BusLogic_SimpleQueueTag;
+
       /*
 	When using Tagged Queuing with Simple Queue Tags, it appears that disk
 	drive controllers do not guarantee that a queued command will not
Index: barrier.1/drivers/scsi/BusLogic.h
--- barrier.1/drivers/scsi/BusLogic.h Tue, 06 Nov 2001 15:47:39 -0500 root (linux/B/b/29_BusLogic.h 1.1 644)
+++ barrier.1(w)/drivers/scsi/BusLogic.h Thu, 14 Feb 2002 12:38:40 -0500 root (linux/B/b/29_BusLogic.h 1.1 644)
@@ -79,6 +79,7 @@
     bios_param:     BusLogic_BIOSDiskParameters,  /* BIOS Disk Parameters   */ \
     unchecked_isa_dma: 1,			  /* Default Initial Value  */ \
     max_sectors:    128,			  /* I/O queue len limit    */ \
+    can_order:      1,      			  /* can order tags         */ \
     use_clustering: ENABLE_CLUSTERING }		  /* Enable Clustering	    */
 
 
Index: barrier.1/drivers/scsi/sym53c8xx_2/sym_glue.c
--- barrier.1/drivers/scsi/sym53c8xx_2/sym_glue.c Thu, 13 Dec 2001 11:06:51 -0500 root (linux/H/d/36_sym_glue.c 1.2 644)
+++ barrier.1(w)/drivers/scsi/sym53c8xx_2/sym_glue.c Thu, 14 Feb 2002 10:43:01 -0500 root (linux/H/d/36_sym_glue.c 1.2 644)
@@ -729,7 +729,14 @@
 	 *  Select tagged/untagged.
 	 */
 	lp = sym_lp(np, tp, ccb->lun);
-	order = (lp && lp->s.reqtags) ? M_SIMPLE_TAG : 0;
+	if (lp && lp->s.reqtags) {
+		if (ccb->request.cmd_flags & RQ_WRITE_ORDERED)
+			order = M_ORDERED_TAG;
+		else
+			order = M_SIMPLE_TAG;
+	} else {
+		order = 0 ;
+	}
 
 	/*
 	 *  Queue the SCSI IO.
Index: barrier.1/drivers/scsi/sym53c8xx_2/sym53c8xx.h
--- barrier.1/drivers/scsi/sym53c8xx_2/sym53c8xx.h Thu, 13 Dec 2001 11:06:51 -0500 root (linux/I/d/17_sym53c8xx. 1.2 644)
+++ barrier.1(w)/drivers/scsi/sym53c8xx_2/sym53c8xx.h Thu, 14 Feb 2002 12:30:29 -0500 root (linux/I/d/17_sym53c8xx. 1.2 644)
@@ -119,6 +119,7 @@
 	this_id:		7,					\
 	sg_tablesize:		0,					\
 	cmd_per_lun:		0,					\
+	can_order:		1,					\
 	use_clustering:		DISABLE_CLUSTERING}
 
 #endif /* defined(HOSTS_C) || defined(MODULE) */ 


  reply	other threads:[~2002-02-14 17:55 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-02-13 21:59 [PATCH] write barriers for 2.4.x Chris Mason
     [not found] ` <m3vgd1ufbt.fsf@merlin.emma.line.org>
2002-02-14 16:01   ` Chris Mason
2002-02-14 17:53     ` Chris Mason [this message]
     [not found] <20020213222535.C0A45E64F2@ns1.suse.com>
     [not found] ` <3100680000.1013644053@tiny>
     [not found]   ` <20020213235651.AC212E6360@ns1.suse.com>
     [not found]     ` <3132400000.1013646727@tiny>
2002-02-15  0:56       ` Chris Mason
2002-02-15  1:21         ` Alan Cox
2002-02-15  2:25           ` Chris Mason
2002-02-15 22:03         ` Chris Mason

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=3489050000.1013709237@tiny \
    --to=mason@suse.com \
    --cc=axboe@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ma@dt.e-technik.uni-dortmund.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox