* simple use wcache from drive (was)Re: [RFC/PATCH 0/7] enable honoring write cache setting of IDE drive
@ 2005-01-28 22:54 Doug Maxey
2005-01-28 22:56 ` Bartlomiej Zolnierkiewicz
0 siblings, 1 reply; 7+ messages in thread
From: Doug Maxey @ 2005-01-28 22:54 UTC (permalink / raw)
To: Bartlomiej Zolnierkiewicz; +Cc: Jens Axboe, Jeff Garzik, Linux IDE Mailing List
On Fri, 28 Jan 2005 23:32:53 +0100, Bartlomiej Zolnierkiewicz wrote:
>> The datacenters/server folks that would be using these drives would
>> expect them to remain as set. I have to check, but unless something
>> has changed very recently in the kernel, setting with hdparm does not
>> "stick" in the sense that the command succeeds to the disk, but no change
>> is made to the barrier.
>
>It is not a problem for IDE driver (flushes become no-ops)
>and this way you can later enable wcache and still use barries.
Well that certainly simplfies things.
How about this?
===== drivers/ide/ide-disk.c 1.115 vs edited =====
--- 1.115/drivers/ide/ide-disk.c 2005-01-04 11:39:25 -06:00
+++ edited/drivers/ide/ide-disk.c 2005-01-28 16:48:24 -06:00
@@ -1083,7 +1083,7 @@ static void idedisk_setup (ide_drive_t *
if ((id->csfo & 1) || (id->cfs_enable_1 & (1 << 5)))
drive->wcache = 1;
- write_cache(drive, 1);
+ write_cache(drive, drive->wcache);
/*
* We must avoid issuing commands a drive does not understand
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: simple use wcache from drive (was)Re: [RFC/PATCH 0/7] enable honoring write cache setting of IDE drive 2005-01-28 22:54 simple use wcache from drive (was)Re: [RFC/PATCH 0/7] enable honoring write cache setting of IDE drive Doug Maxey @ 2005-01-28 22:56 ` Bartlomiej Zolnierkiewicz 2005-01-28 22:59 ` Bartlomiej Zolnierkiewicz 0 siblings, 1 reply; 7+ messages in thread From: Bartlomiej Zolnierkiewicz @ 2005-01-28 22:56 UTC (permalink / raw) To: Doug Maxey; +Cc: Jens Axboe, Jeff Garzik, Linux IDE Mailing List On Fri, 28 Jan 2005 16:54:49 -0600, Doug Maxey <dwm@austin.ibm.com> wrote: > > On Fri, 28 Jan 2005 23:32:53 +0100, Bartlomiej Zolnierkiewicz wrote: > >> The datacenters/server folks that would be using these drives would > >> expect them to remain as set. I have to check, but unless something > >> has changed very recently in the kernel, setting with hdparm does not > >> "stick" in the sense that the command succeeds to the disk, but no change > >> is made to the barrier. > > > >It is not a problem for IDE driver (flushes become no-ops) > >and this way you can later enable wcache and still use barries. > > Well that certainly simplfies things. > > How about this? No go until 'drive->wcache' bug is fixed. > ===== drivers/ide/ide-disk.c 1.115 vs edited ===== > --- 1.115/drivers/ide/ide-disk.c 2005-01-04 11:39:25 -06:00 > +++ edited/drivers/ide/ide-disk.c 2005-01-28 16:48:24 -06:00 > @@ -1083,7 +1083,7 @@ static void idedisk_setup (ide_drive_t * > if ((id->csfo & 1) || (id->cfs_enable_1 & (1 << 5))) > drive->wcache = 1; > > - write_cache(drive, 1); > + write_cache(drive, drive->wcache); > > /* > * We must avoid issuing commands a drive does not understand > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: simple use wcache from drive (was)Re: [RFC/PATCH 0/7] enable honoring write cache setting of IDE drive 2005-01-28 22:56 ` Bartlomiej Zolnierkiewicz @ 2005-01-28 22:59 ` Bartlomiej Zolnierkiewicz 2005-01-29 23:54 ` simple use wcache from drive Doug Maxey 0 siblings, 1 reply; 7+ messages in thread From: Bartlomiej Zolnierkiewicz @ 2005-01-28 22:59 UTC (permalink / raw) To: Doug Maxey; +Cc: Jens Axboe, Jeff Garzik, Linux IDE Mailing List On Fri, 28 Jan 2005 23:56:41 +0100, Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> wrote: > On Fri, 28 Jan 2005 16:54:49 -0600, Doug Maxey <dwm@austin.ibm.com> wrote: > > > > On Fri, 28 Jan 2005 23:32:53 +0100, Bartlomiej Zolnierkiewicz wrote: > > >> The datacenters/server folks that would be using these drives would > > >> expect them to remain as set. I have to check, but unless something > > >> has changed very recently in the kernel, setting with hdparm does not > > >> "stick" in the sense that the command succeeds to the disk, but no change > > >> is made to the barrier. > > > > > >It is not a problem for IDE driver (flushes become no-ops) > > >and this way you can later enable wcache and still use barries. > > > > Well that certainly simplfies things. > > > > How about this? > > No go until 'drive->wcache' bug is fixed. And until user is informed about status of wcache (printk). > > ===== drivers/ide/ide-disk.c 1.115 vs edited ===== > > --- 1.115/drivers/ide/ide-disk.c 2005-01-04 11:39:25 -06:00 > > +++ edited/drivers/ide/ide-disk.c 2005-01-28 16:48:24 -06:00 > > @@ -1083,7 +1083,7 @@ static void idedisk_setup (ide_drive_t * > > if ((id->csfo & 1) || (id->cfs_enable_1 & (1 << 5))) > > drive->wcache = 1; > > > > - write_cache(drive, 1); > > + write_cache(drive, drive->wcache); > > > > /* > > * We must avoid issuing commands a drive does not understand > > > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: simple use wcache from drive 2005-01-28 22:59 ` Bartlomiej Zolnierkiewicz @ 2005-01-29 23:54 ` Doug Maxey 2005-01-30 0:05 ` Bartlomiej Zolnierkiewicz 0 siblings, 1 reply; 7+ messages in thread From: Doug Maxey @ 2005-01-29 23:54 UTC (permalink / raw) To: Bartlomiej Zolnierkiewicz; +Cc: Jens Axboe, Jeff Garzik, Linux IDE Mailing List On Fri, 28 Jan 2005 23:59:18 +0100, Bartlomiej Zolnierkiewicz wrote: >On Fri, 28 Jan 2005 23:56:41 +0100, Bartlomiej Zolnierkiewicz ><bzolnier@gmail.com> wrote: >> On Fri, 28 Jan 2005 16:54:49 -0600, Doug Maxey <dwm@austin.ibm.com> wrote: >> > >> > On Fri, 28 Jan 2005 23:32:53 +0100, Bartlomiej Zolnierkiewicz wrote: >> > >> The datacenters/server folks that would be using these drives would >> > >> expect them to remain as set. I have to check, but unless something >> > >> has changed very recently in the kernel, setting with hdparm does not >> > >> "stick" in the sense that the command succeeds to the disk, but no change >> > >> is made to the barrier. >> > > >> > >It is not a problem for IDE driver (flushes become no-ops) >> > >and this way you can later enable wcache and still use barries. >> > >> > Well that certainly simplfies things. >> > >> > How about this? >> >> No go until 'drive->wcache' bug is fixed. > >And until user is informed about status of wcache (printk). > [PATCH] use IDE drive cache enabled setting by default. Enable the default setting of the driver use of write cache to be defined by the drive itself. Signed-off-by: Doug Maxey <dwm@austin.ibm.com> ===== drivers/ide/ide-disk.c 1.115 vs 1.116 ===== --- 1.115/drivers/ide/ide-disk.c 2005-01-04 11:39:25 -06:00 +++ 1.116/drivers/ide/ide-disk.c 2005-01-29 15:13:24 -06:00 @@ -784,6 +784,7 @@ static int write_cache(ide_drive_t *driv if (err) return err; + printk(KERN_DEBUG "%s: %sabling write cache\n", drive->name, arg ? "en" : "dis"); drive->wcache = arg; return 0; } @@ -1080,10 +1081,10 @@ static void idedisk_setup (ide_drive_t * drive->no_io_32bit = id->dword_io ? 1 : 0; /* write cache enabled? */ - if ((id->csfo & 1) || (id->cfs_enable_1 & (1 << 5))) + if ((id->csfo & 1) && (id->cfs_enable_1 & (1 << 5))) drive->wcache = 1; - write_cache(drive, 1); + write_cache(drive, drive->wcache); /* * We must avoid issuing commands a drive does not understand ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: simple use wcache from drive 2005-01-29 23:54 ` simple use wcache from drive Doug Maxey @ 2005-01-30 0:05 ` Bartlomiej Zolnierkiewicz 2005-01-30 0:19 ` Doug Maxey 0 siblings, 1 reply; 7+ messages in thread From: Bartlomiej Zolnierkiewicz @ 2005-01-30 0:05 UTC (permalink / raw) To: Doug Maxey; +Cc: Jens Axboe, Jeff Garzik, Linux IDE Mailing List On Sat, 29 Jan 2005 17:54:47 -0600, Doug Maxey <dwm@austin.ibm.com> wrote: > > On Fri, 28 Jan 2005 23:59:18 +0100, Bartlomiej Zolnierkiewicz wrote: > >On Fri, 28 Jan 2005 23:56:41 +0100, Bartlomiej Zolnierkiewicz > ><bzolnier@gmail.com> wrote: > >> On Fri, 28 Jan 2005 16:54:49 -0600, Doug Maxey <dwm@austin.ibm.com> wrote: > >> > > >> > On Fri, 28 Jan 2005 23:32:53 +0100, Bartlomiej Zolnierkiewicz wrote: > >> > >> The datacenters/server folks that would be using these drives would > >> > >> expect them to remain as set. I have to check, but unless something > >> > >> has changed very recently in the kernel, setting with hdparm does not > >> > >> "stick" in the sense that the command succeeds to the disk, but no change > >> > >> is made to the barrier. > >> > > > >> > >It is not a problem for IDE driver (flushes become no-ops) > >> > >and this way you can later enable wcache and still use barries. > >> > > >> > Well that certainly simplfies things. > >> > > >> > How about this? > >> > >> No go until 'drive->wcache' bug is fixed. > > > >And until user is informed about status of wcache (printk). > > > > [PATCH] use IDE drive cache enabled setting by default. > > Enable the default setting of the driver use of write cache to be > defined by the drive itself. > > Signed-off-by: Doug Maxey <dwm@austin.ibm.com> > > ===== drivers/ide/ide-disk.c 1.115 vs 1.116 ===== > --- 1.115/drivers/ide/ide-disk.c 2005-01-04 11:39:25 -06:00 > +++ 1.116/drivers/ide/ide-disk.c 2005-01-29 15:13:24 -06:00 > @@ -784,6 +784,7 @@ static int write_cache(ide_drive_t *driv > if (err) > return err; > > + printk(KERN_DEBUG "%s: %sabling write cache\n", drive->name, arg ? "en" : "dis"); > drive->wcache = arg; > return 0; > } > @@ -1080,10 +1081,10 @@ static void idedisk_setup (ide_drive_t * > drive->no_io_32bit = id->dword_io ? 1 : 0; > > /* write cache enabled? */ > - if ((id->csfo & 1) || (id->cfs_enable_1 & (1 << 5))) > + if ((id->csfo & 1) && (id->cfs_enable_1 & (1 << 5))) > drive->wcache = 1; This bogus... I was thinking about bug related to hdparm... > - write_cache(drive, 1); > + write_cache(drive, drive->wcache); You still didn't answer my question what is the practical reason for this... > /* > * We must avoid issuing commands a drive does not understand > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: simple use wcache from drive 2005-01-30 0:05 ` Bartlomiej Zolnierkiewicz @ 2005-01-30 0:19 ` Doug Maxey 2005-01-30 0:41 ` Bartlomiej Zolnierkiewicz 0 siblings, 1 reply; 7+ messages in thread From: Doug Maxey @ 2005-01-30 0:19 UTC (permalink / raw) To: Bartlomiej Zolnierkiewicz; +Cc: Jens Axboe, Jeff Garzik, Linux IDE Mailing List On Sun, 30 Jan 2005 01:05:03 +0100, Bartlomiej Zolnierkiewicz wrote: >On Sat, 29 Jan 2005 17:54:47 -0600, Doug Maxey <dwm@austin.ibm.com> wrote: >> >> On Fri, 28 Jan 2005 23:59:18 +0100, Bartlomiej Zolnierkiewicz wrote: >> >On Fri, 28 Jan 2005 23:56:41 +0100, Bartlomiej Zolnierkiewicz >> ><bzolnier@gmail.com> wrote: >> >> On Fri, 28 Jan 2005 16:54:49 -0600, Doug Maxey <dwm@austin.ibm.com> wrote: >> >> > >> >> > On Fri, 28 Jan 2005 23:32:53 +0100, Bartlomiej Zolnierkiewicz wrote: >> >> > >> The datacenters/server folks that would be using these drives would >> >> > >> expect them to remain as set. I have to check, but unless something >> >> > >> has changed very recently in the kernel, setting with hdparm does not >> >> > >> "stick" in the sense that the command succeeds to the disk, but no change >> >> > >> is made to the barrier. >> >> > > >> >> > >It is not a problem for IDE driver (flushes become no-ops) >> >> > >and this way you can later enable wcache and still use barries. >> >> > >> >> > Well that certainly simplfies things. >> >> > >> >> > How about this? >> >> >> >> No go until 'drive->wcache' bug is fixed. >> > >> >And until user is informed about status of wcache (printk). >> > >> >> [PATCH] use IDE drive cache enabled setting by default. >> >> Enable the default setting of the driver use of write cache to be >> defined by the drive itself. >> >> Signed-off-by: Doug Maxey <dwm@austin.ibm.com> >> >> ===== drivers/ide/ide-disk.c 1.115 vs 1.116 ===== >> --- 1.115/drivers/ide/ide-disk.c 2005-01-04 11:39:25 -06:00 >> +++ 1.116/drivers/ide/ide-disk.c 2005-01-29 15:13:24 -06:00 >> @@ -784,6 +784,7 @@ static int write_cache(ide_drive_t *driv >> if (err) >> return err; >> >> + printk(KERN_DEBUG "%s: %sabling write cache\n", drive->name, arg ? "en" : "dis"); >> drive->wcache = arg; >> return 0; >> } >> @@ -1080,10 +1081,10 @@ static void idedisk_setup (ide_drive_t * >> drive->no_io_32bit = id->dword_io ? 1 : 0; >> >> /* write cache enabled? */ >> - if ((id->csfo & 1) || (id->cfs_enable_1 & (1 << 5))) >> + if ((id->csfo & 1) && (id->cfs_enable_1 & (1 << 5))) >> drive->wcache = 1; > >This bogus... I was thinking about bug related to hdparm... Sorry, my crystal ball is foggy today. Do you have a specific bug number or message-id? > >> - write_cache(drive, 1); >> + write_cache(drive, drive->wcache); > >You still didn't answer my question what is the practical reason for this... Thought we had already cleared this up. See above. > >> /* >> * We must avoid issuing commands a drive does not understand >> > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: simple use wcache from drive 2005-01-30 0:19 ` Doug Maxey @ 2005-01-30 0:41 ` Bartlomiej Zolnierkiewicz 0 siblings, 0 replies; 7+ messages in thread From: Bartlomiej Zolnierkiewicz @ 2005-01-30 0:41 UTC (permalink / raw) To: Doug Maxey; +Cc: Jens Axboe, Jeff Garzik, Linux IDE Mailing List On Sat, 29 Jan 2005 18:19:50 -0600, Doug Maxey <dwm@austin.ibm.com> wrote: > > On Sun, 30 Jan 2005 01:05:03 +0100, Bartlomiej Zolnierkiewicz wrote: > >On Sat, 29 Jan 2005 17:54:47 -0600, Doug Maxey <dwm@austin.ibm.com> wrote: > >> > >> On Fri, 28 Jan 2005 23:59:18 +0100, Bartlomiej Zolnierkiewicz wrote: > >> >On Fri, 28 Jan 2005 23:56:41 +0100, Bartlomiej Zolnierkiewicz > >> ><bzolnier@gmail.com> wrote: > >> >> On Fri, 28 Jan 2005 16:54:49 -0600, Doug Maxey <dwm@austin.ibm.com> wrote: > >> >> > > >> >> > On Fri, 28 Jan 2005 23:32:53 +0100, Bartlomiej Zolnierkiewicz wrote: > >> >> > >> The datacenters/server folks that would be using these drives would > >> >> > >> expect them to remain as set. I have to check, but unless something > >> >> > >> has changed very recently in the kernel, setting with hdparm does not > >> >> > >> "stick" in the sense that the command succeeds to the disk, but no change > >> >> > >> is made to the barrier. > >> >> > > > >> >> > >It is not a problem for IDE driver (flushes become no-ops) > >> >> > >and this way you can later enable wcache and still use barries. > >> >> > > >> >> > Well that certainly simplfies things. > >> >> > > >> >> > How about this? > >> >> > >> >> No go until 'drive->wcache' bug is fixed. > >> > > >> >And until user is informed about status of wcache (printk). > >> > > >> > >> [PATCH] use IDE drive cache enabled setting by default. > >> > >> Enable the default setting of the driver use of write cache to be > >> defined by the drive itself. > >> > >> Signed-off-by: Doug Maxey <dwm@austin.ibm.com> > >> > >> ===== drivers/ide/ide-disk.c 1.115 vs 1.116 ===== > >> --- 1.115/drivers/ide/ide-disk.c 2005-01-04 11:39:25 -06:00 > >> +++ 1.116/drivers/ide/ide-disk.c 2005-01-29 15:13:24 -06:00 > >> @@ -784,6 +784,7 @@ static int write_cache(ide_drive_t *driv > >> if (err) > >> return err; > >> > >> + printk(KERN_DEBUG "%s: %sabling write cache\n", drive->name, arg ? "en" : "dis"); > >> drive->wcache = arg; > >> return 0; > >> } > >> @@ -1080,10 +1081,10 @@ static void idedisk_setup (ide_drive_t * > >> drive->no_io_32bit = id->dword_io ? 1 : 0; > >> > >> /* write cache enabled? */ > >> - if ((id->csfo & 1) || (id->cfs_enable_1 & (1 << 5))) > >> + if ((id->csfo & 1) && (id->cfs_enable_1 & (1 << 5))) > >> drive->wcache = 1; > > > >This bogus... I was thinking about bug related to hdparm... > > Sorry, my crystal ball is foggy today. Do you have a specific bug number or > message-id? >From private mail to you: On Wed, 13 Oct 2004 21:06:32 +0200, Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> wrote: > the write cache handling is a bit more complicated, please look at > write_cache(): > > if (!ide_id_has_flush_cache(drive->id)) > return 1; > > this means that the write cache will stay enabled for devices not supporting > (or advertising) flush cache feature. Anyway this is a minor issue, > real problem is that hdparm doesn't use HDIO_SET_WCACHE ioctl but > HDIO_DRIVE_CMD to [en,dis]able write cache. Suppose the following scenario: > > - disk supports write cache and cache flush > - disk comes with write cache disabled by default > - your patch disables write cache > - user enables write cache with hdparm > - driver is not aware that write cache has been enabled > (BAD) > > > >> - write_cache(drive, 1); > >> + write_cache(drive, drive->wcache); > > > >You still didn't answer my question what is the practical reason for this... > > Thought we had already cleared this up. See above. Nope, please see "[RFC/PATCH 0/7] enable honoring write cache setting of IDE drive" thread. ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2005-01-30 0:41 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2005-01-28 22:54 simple use wcache from drive (was)Re: [RFC/PATCH 0/7] enable honoring write cache setting of IDE drive Doug Maxey 2005-01-28 22:56 ` Bartlomiej Zolnierkiewicz 2005-01-28 22:59 ` Bartlomiej Zolnierkiewicz 2005-01-29 23:54 ` simple use wcache from drive Doug Maxey 2005-01-30 0:05 ` Bartlomiej Zolnierkiewicz 2005-01-30 0:19 ` Doug Maxey 2005-01-30 0:41 ` Bartlomiej Zolnierkiewicz
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).